#include <linux/module.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/mfd/twl6040.h>
#include <linux/clk-provider.h>
struct twl6040_pdmclk { … };
static int twl6040_pdmclk_is_prepared(struct clk_hw *hw)
{ … }
static int twl6040_pdmclk_reset_one_clock(struct twl6040_pdmclk *pdmclk,
unsigned int reg)
{ … }
static int twl6040_pdmclk_quirk_reset_clocks(struct twl6040_pdmclk *pdmclk)
{ … }
static int twl6040_pdmclk_prepare(struct clk_hw *hw)
{ … }
static void twl6040_pdmclk_unprepare(struct clk_hw *hw)
{ … }
static unsigned long twl6040_pdmclk_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static const struct clk_ops twl6040_pdmclk_ops = …;
static const struct clk_init_data twl6040_pdmclk_init = …;
static int twl6040_pdmclk_probe(struct platform_device *pdev)
{ … }
static struct platform_driver twl6040_pdmclk_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_ALIAS(…) …;
MODULE_LICENSE(…) …;