#include <linux/clk-provider.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/mfd/rk808.h>
struct rk808_clkout { … };
static unsigned long rk808_clkout_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static int rk808_clkout2_enable(struct clk_hw *hw, bool enable)
{ … }
static int rk808_clkout2_prepare(struct clk_hw *hw)
{ … }
static void rk808_clkout2_unprepare(struct clk_hw *hw)
{ … }
static int rk808_clkout2_is_prepared(struct clk_hw *hw)
{ … }
static const struct clk_ops rk808_clkout1_ops = …;
static const struct clk_ops rk808_clkout2_ops = …;
static struct clk_hw *
of_clk_rk808_get(struct of_phandle_args *clkspec, void *data)
{ … }
static int rk817_clkout2_enable(struct clk_hw *hw, bool enable)
{ … }
static int rk817_clkout2_prepare(struct clk_hw *hw)
{ … }
static void rk817_clkout2_unprepare(struct clk_hw *hw)
{ … }
static int rk817_clkout2_is_prepared(struct clk_hw *hw)
{ … }
static const struct clk_ops rk817_clkout2_ops = …;
static const struct clk_ops *rkpmic_get_ops(long variant)
{ … }
static int rk808_clkout_probe(struct platform_device *pdev)
{ … }
static struct platform_driver rk808_clkout_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;