Lines Matching refs:clk
8 * Based on clk-sun6i-apb0.c
15 #include <linux/clk-provider.h>
22 static struct clk *sun8i_a23_apb0_register(struct device_node *node,
27 struct clk *clk;
37 clk = clk_register_divider(NULL, clk_name, clk_parent, 0, reg,
39 if (IS_ERR(clk))
40 return clk;
42 ret = of_clk_add_provider(node, of_clk_src_simple_get, clk);
46 return clk;
49 clk_unregister_divider(clk);
58 struct clk *clk;
63 * This happens with clk nodes instantiated through mfd,
68 pr_err("Could not get registers for a23-apb0-clk\n");
73 clk = sun8i_a23_apb0_register(node, reg);
74 if (IS_ERR(clk))
84 CLK_OF_DECLARE_DRIVER(sun8i_a23_apb0, "allwinner,sun8i-a23-apb0-clk",
91 struct clk *clk;
97 clk = sun8i_a23_apb0_register(np, reg);
98 return PTR_ERR_OR_ZERO(clk);
102 { .compatible = "allwinner,sun8i-a23-apb0-clk" },
108 .name = "sun8i-a23-apb0-clk",