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.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to