#include <linux/clk-provider.h>
#include <linux/clk/renesas.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/spinlock.h>
struct r8a73a4_cpg { … };
#define CPG_CKSCR …
#define CPG_FRQCRA …
#define CPG_FRQCRB …
#define CPG_FRQCRC …
#define CPG_PLL0CR …
#define CPG_PLL1CR …
#define CPG_PLL2CR …
#define CPG_PLL2HCR …
#define CPG_PLL2SCR …
struct div4_clk { … };
static struct div4_clk div4_clks[] = …;
static const struct clk_div_table div4_div_table[] = …;
static struct clk * __init
r8a73a4_cpg_register_clock(struct device_node *np, struct r8a73a4_cpg *cpg,
void __iomem *base, const char *name)
{ … }
static void __init r8a73a4_cpg_clocks_init(struct device_node *np)
{ … }
CLK_OF_DECLARE(r8a73a4_cpg_clks, "renesas,r8a73a4-cpg-clocks",
r8a73a4_cpg_clocks_init);