[PATCH 01/13] clk: Add non CONFIG_HAVE_CLK routines
Russell King - ARM Linux
linux at arm.linux.org.uk
Sat Apr 21 08:42:19 EDT 2012
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.
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.
More information about the linux-arm-kernel
mailing list