Thread (21 messages) 21 messages, 4 authors, 2012-04-24

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

From: viresh kumar <hidden>
Date: 2012-04-21 13:47:16
Also in: lkml

On 4/21/12, Russell King - ARM Linux [off-list ref] wrote:
On Sat, Apr 21, 2012 at 05:17:28PM +0530, Viresh Kumar wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help