#include <linux/clk-provider.h>
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/of_address.h>
#include <linux/platform_device.h>
#define REG_LPF_LOW_L …
#define REG_LPF_LOW_H …
#define REG_LPF_HIGH_BOTTOM …
#define REG_LPF_HIGH_TOP …
#define REG_LPF_TOGGLE …
#define REG_LPF_MYSTERYTWO …
#define REG_LPF_UPDATE_COUNT …
#define REG_LPF_MYSTERYONE …
#define REG_LPF_TRANSITIONCTRL …
#define REG_LPF_LOCK …
#define REG_CURRENT …
#define LPF_LOCK_TIMEOUT …
#define MULTIPLIER_1 …
#define MULTIPLIER_2 …
#define MULTIPLIER …
struct msc313_cpupll { … };
#define to_cpupll(_hw) …
static u32 msc313_cpupll_reg_read32(struct msc313_cpupll *cpupll, unsigned int reg)
{ … }
static void msc313_cpupll_reg_write32(struct msc313_cpupll *cpupll, unsigned int reg, u32 value)
{ … }
static void msc313_cpupll_setfreq(struct msc313_cpupll *cpupll, u32 regvalue)
{ … }
static unsigned long msc313_cpupll_frequencyforreg(u32 reg, unsigned long parent_rate)
{ … }
static u32 msc313_cpupll_regforfrequecy(unsigned long rate, unsigned long parent_rate)
{ … }
static unsigned long msc313_cpupll_recalc_rate(struct clk_hw *hw, unsigned long parent_rate)
{ … }
static long msc313_cpupll_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *parent_rate)
{ … }
static int msc313_cpupll_set_rate(struct clk_hw *hw, unsigned long rate, unsigned long parent_rate)
{ … }
static const struct clk_ops msc313_cpupll_ops = …;
static const struct of_device_id msc313_cpupll_of_match[] = …;
static int msc313_cpupll_probe(struct platform_device *pdev)
{ … }
static struct platform_driver msc313_cpupll_driver = …;
builtin_platform_driver(…) …;