[PATCH/RFC 5/6] staging: board: Add support for devices with complex dependencies
Russell King - ARM Linux
linux at arm.linux.org.uk
Fri Apr 3 10:04:08 PDT 2015
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.
More information about the linux-arm-kernel
mailing list