Hi Paul, Quoting Paul Burton (2015-04-24 06:17:26) > +static void __init jz4740_cgu_init(struct device_node *np) > +{ > + int retval; > + > + cgu = ingenic_cgu_new(jz4740_cgu_clocks, > + ARRAY_SIZE(jz4740_cgu_clocks), np); > + if (!cgu) { > + pr_err("%s: failed to initialise CGU\n", __func__); > + return; > + } > + > + retval = ingenic_cgu_register_clocks(cgu); > + if (retval) > + pr_err("%s: failed to register CGU Clocks\n", __func__); > +} > +CLK_OF_DECLARE(jz4740_cgu, "ingenic,jz4740-cgu", jz4740_cgu_init); > -- > 2.3.5 > Patch looks good to me, but I have one question. Is it possible for you to have a proper platform_device for the cgu instead of relying on CLK_OF_DECLARE? For an example of a clock driver that does this, check out the bottom of drivers/clk/qcom/gcc-msm8660.c. Regards, Mike