linux/drivers/devfreq/event/exynos-ppmu.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * exynos_ppmu.c - Exynos PPMU (Platform Performance Monitoring Unit) support
 *
 * Copyright (c) 2014-2015 Samsung Electronics Co., Ltd.
 * Author : Chanwoo Choi <[email protected]>
 *
 * This driver is based on drivers/devfreq/exynos/exynos_ppmu.c
 */

#include <linux/clk.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/suspend.h>
#include <linux/devfreq-event.h>

#include "exynos-ppmu.h"

enum exynos_ppmu_type {};

struct exynos_ppmu_data {};

struct exynos_ppmu {};

#define PPMU_EVENT(name)

static struct __exynos_ppmu_events {} ppmu_events[] =;

static int __exynos_ppmu_find_ppmu_id(const char *edev_name)
{}

static int exynos_ppmu_find_ppmu_id(struct devfreq_event_dev *edev)
{}

/*
 * The devfreq-event ops structure for PPMU v1.1
 */
static int exynos_ppmu_disable(struct devfreq_event_dev *edev)
{}

static int exynos_ppmu_set_event(struct devfreq_event_dev *edev)
{}

static int exynos_ppmu_get_event(struct devfreq_event_dev *edev,
				struct devfreq_event_data *edata)
{}

static const struct devfreq_event_ops exynos_ppmu_ops =;

/*
 * The devfreq-event ops structure for PPMU v2.0
 */
static int exynos_ppmu_v2_disable(struct devfreq_event_dev *edev)
{}

static int exynos_ppmu_v2_set_event(struct devfreq_event_dev *edev)
{}

static int exynos_ppmu_v2_get_event(struct devfreq_event_dev *edev,
				    struct devfreq_event_data *edata)
{}

static const struct devfreq_event_ops exynos_ppmu_v2_ops =;

static const struct of_device_id exynos_ppmu_id_match[] =;
MODULE_DEVICE_TABLE(of, exynos_ppmu_id_match);

static int of_get_devfreq_events(struct device_node *np,
				 struct exynos_ppmu *info)
{}

static struct regmap_config exynos_ppmu_regmap_config =;

static int exynos_ppmu_parse_dt(struct platform_device *pdev,
				struct exynos_ppmu *info)
{}

static int exynos_ppmu_probe(struct platform_device *pdev)
{}

static void exynos_ppmu_remove(struct platform_device *pdev)
{}

static struct platform_driver exynos_ppmu_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();