diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-01-28 21:17:41 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2017-07-27 22:57:36 +0200 |
commit | bd7fefe1f06ca6cc2d1503def95bf53e2549a44b (patch) | |
tree | 987325ddda2cdaf478298b43a0df08470ebb5c4a /arch/arm | |
parent | ef8aa4e0a0df2470148203725acd8b6e75acdc0b (diff) | |
download | linux-stable-bd7fefe1f06ca6cc2d1503def95bf53e2549a44b.tar.gz linux-stable-bd7fefe1f06ca6cc2d1503def95bf53e2549a44b.tar.bz2 linux-stable-bd7fefe1f06ca6cc2d1503def95bf53e2549a44b.zip |
ARM: w90x900: normalize clk API
w90x900 still provides its own variant of the clk API rather than using
the generic COMMON_CLK API. This generally works, but it causes some link
errors with drivers using the clk_set_rate, clk_get_parent, clk_set_parent
or clk_round_rate functions when a platform lacks those interfaces.
This adds empty stub implementations for each of them, and I don't even
try to do something useful here but instead just print a WARN() message
to make it obvious what is going on if they ever end up being called.
The drivers that call these won't be used on these platforms (otherwise
we'd get a link error today), so the added code is harmless bloat and
will warn about accidental use.
A while ago there was a proposal to change w90x900 to use the common-clk
implementation, which would be the way it should be handled properly.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-w90x900/clock.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/mach-w90x900/clock.c b/arch/arm/mach-w90x900/clock.c index ac6fd1a2cb59..3f93fac98d97 100644 --- a/arch/arm/mach-w90x900/clock.c +++ b/arch/arm/mach-w90x900/clock.c @@ -93,3 +93,32 @@ void nuc900_subclk_enable(struct clk *clk, int enable) __raw_writel(clken, W90X900_VA_CLKPWR + SUBCLK); } + +/* dummy functions, should not be called */ +long clk_round_rate(struct clk *clk, unsigned long rate) +{ + WARN_ON(clk); + return 0; +} +EXPORT_SYMBOL(clk_round_rate); + +int clk_set_rate(struct clk *clk, unsigned long rate) +{ + WARN_ON(clk); + return 0; +} +EXPORT_SYMBOL(clk_set_rate); + +int clk_set_parent(struct clk *clk, struct clk *parent) +{ + WARN_ON(clk); + return 0; +} +EXPORT_SYMBOL(clk_set_parent); + +struct clk *clk_get_parent(struct clk *clk) +{ + WARN_ON(clk); + return NULL; +} +EXPORT_SYMBOL(clk_get_parent); |