lkml.org 
[lkml]   [2015]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH/RFC 5/6] staging: board: Add support for devices with complex dependencies
From
Hi Russell,

On Fri, Apr 3, 2015 at 7:04 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> 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@linux-m68k.org

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


\
 
 \ /
  Last update: 2015-04-05 11:01    [W:0.108 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site