linux/drivers/devfreq/exynos-bus.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Generic Exynos Bus frequency driver with DEVFREQ Framework
 *
 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
 * Author : Chanwoo Choi <[email protected]>
 *
 * This driver support Exynos Bus frequency feature by using
 * DEVFREQ framework and is based on drivers/devfreq/exynos/exynos4_bus.c.
 */

#include <linux/clk.h>
#include <linux/devfreq.h>
#include <linux/devfreq-event.h>
#include <linux/device.h>
#include <linux/export.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/pm_opp.h>
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>

#define DEFAULT_SATURATION_RATIO

struct exynos_bus {};

/*
 * Control the devfreq-event device to get the current state of bus
 */
#define exynos_bus_ops_edev(ops)
exynos_bus_ops_edev(enable_edev);
exynos_bus_ops_edev(disable_edev);
exynos_bus_ops_edev(set_event);

static int exynos_bus_get_event(struct exynos_bus *bus,
				struct devfreq_event_data *edata)
{}

/*
 * devfreq function for both simple-ondemand and passive governor
 */
static int exynos_bus_target(struct device *dev, unsigned long *freq, u32 flags)
{}

static int exynos_bus_get_dev_status(struct device *dev,
				     struct devfreq_dev_status *stat)
{}

static void exynos_bus_exit(struct device *dev)
{}

static void exynos_bus_passive_exit(struct device *dev)
{}

static int exynos_bus_parent_parse_of(struct device_node *np,
					struct exynos_bus *bus)
{}

static int exynos_bus_parse_of(struct device_node *np,
			      struct exynos_bus *bus)
{}

static int exynos_bus_profile_init(struct exynos_bus *bus,
				   struct devfreq_dev_profile *profile)
{}

static int exynos_bus_profile_init_passive(struct exynos_bus *bus,
					   struct devfreq_dev_profile *profile)
{}

static int exynos_bus_probe(struct platform_device *pdev)
{}

static void exynos_bus_shutdown(struct platform_device *pdev)
{}

static int exynos_bus_resume(struct device *dev)
{}

static int exynos_bus_suspend(struct device *dev)
{}

static DEFINE_SIMPLE_DEV_PM_OPS(exynos_bus_pm,
				exynos_bus_suspend, exynos_bus_resume);

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

static struct platform_driver exynos_bus_platdrv =;
module_platform_driver();

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