#include <linux/platform_device.h>
#include <linux/of_address.h>
#include <linux/clk-provider.h>
#include <linux/regmap.h>
#define REG_CONFIG1 …
#define REG_CONFIG2 …
static const struct regmap_config msc313_mpll_regmap_config = …;
static const struct reg_field config1_loop_div_first = …;
static const struct reg_field config1_input_div_first = …;
static const struct reg_field config2_output_div_first = …;
static const struct reg_field config2_loop_div_second = …;
static const unsigned int output_dividers[] = …;
#define NUMOUTPUTS …
struct msc313_mpll { … };
#define to_mpll(_hw) …
static unsigned long msc313_mpll_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static const struct clk_ops msc313_mpll_ops = …;
static const struct clk_parent_data mpll_parent = …;
static int msc313_mpll_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id msc313_mpll_of_match[] = …;
static struct platform_driver msc313_mpll_driver = …;
builtin_platform_driver(…) …;