Hi Russell, On Fri, Apr 3, 2015 at 7:04 PM, Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote: > On Fri, Apr 03, 2015 at 03:57:27PM +0300, Dan Carpenter wrote: >> On Fri, Apr 03, 2015 at 02:42:02PM +0200, Geert Uytterhoeven wrote: >> > +int __init board_staging_register_clock(const struct board_staging_clk *bsc) >> > +{ >> > + struct clk *clk; >> > + int error; >> > + >> > + pr_debug("Registering clock %s for con_id %s dev_id %s\n", bsc->clk, >> > + bsc->con_id, bsc->dev_id); >> > + clk = clk_get(NULL, bsc->clk); >> > + if (IS_ERR(clk)) { >> > + error = PTR_ERR(clk); >> > + pr_err("Failed to get clock %s (%d)\n", bsc->clk, error); >> > + return error; >> > + } >> > + >> > + error = clk_register_clkdev(clk, bsc->con_id, bsc->dev_id); >> > + if (error) >> > + pr_err("Failed to register clock %s (%d)\n", bsc->clk, error); >> > + return error; >> >> Missing curly braces. Also it's weird that don't we need a clk_put() >> on the error patch as well as the success path? > > What's also concerning is that this is an abuse of this. > > clk_register_clkdev() is supposed to be used with clocks created with > the CCF functions, it's not for creating aliases. > > We have clk_add_alias() which does *everything* that this function does, > only in a less buggy way. Thanks, I didn't know about clk_add_alias(). I had based the above on long gone code under arch/arm/mach-shmobile to use platform devices with CCF. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel