Re: [PATCH 01/13] clk: Add non CONFIG_HAVE_CLK routines

From: viresh kumar
Date: Sat Apr 21 2012 - 09:47:11 EST


On 4/21/12, Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote:
> On Sat, Apr 21, 2012 at 05:17:28PM +0530, Viresh Kumar wrote:
>> Many drivers are shared between architectures that may or may not have
>> HAVE_CLK
>> selected for them. To remove compilation errors for them we enclose
>> clk_*()
>> calls in these drivers within #ifdef CONFIG_HAVE_CLK, #endif.
>
> All you're doing is making drivers buildable. Drivers will not be usable
> with this (they'll error out because clk_get() will fail.)
>
> For example:
>
> -#ifndef CONFIG_HAVE_CLK
> -/* Dummy stub for clk framework */
> -#define clk_get(dev, id) NULL
> -#define clk_put(clock) do {} while (0)
> -#define clk_enable(clock) do {} while (0)
> -#define clk_disable(clock) do {} while (0)
> -#endif
> -
>
> along with your change in this patch changes the drivers behaviour.

I tried to take care of these issues, but unfortunately
i couldn't.

Patch numbers 6, 12 & 13 will actually break drivers. Will ask Andrew
to drop them.

> A better solution would be to assume that if HAVE_CLK is not set, then
> that means there's no control over clocks, and therefore the clk API
> should become totally transparent and non-failure inducing. So, having
> clk_get() return NULL, and having all the other clk API functions ignore
> their argument (just like the macros above) is the right solution here.

Will leave these macros as is for mentioned patches.

--
viresh
--
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/