Re: [PATCH/RFC 5/6] staging: board: Add support for devices with complex dependencies

From: Russell King - ARM Linux
Date: Fri Apr 03 2015 - 13:04:41 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/