diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2018-06-11 10:44:22 +0200 |
---|---|---|
committer | Paul Burton <paul.burton@mips.com> | 2018-06-28 14:28:59 -0700 |
commit | 6b5939d2e528525a1514adabe635f5f8f7328744 (patch) | |
tree | 370ffa6064a0be9a271573c0898f28aa34d623bb /arch | |
parent | 344ebf09949c31bcb8818d8458b65add29f1d67b (diff) | |
download | linux-6b5939d2e528525a1514adabe635f5f8f7328744.tar.gz linux-6b5939d2e528525a1514adabe635f5f8f7328744.tar.bz2 linux-6b5939d2e528525a1514adabe635f5f8f7328744.zip |
MIPS: AR7: Normalize clk API
Coldfire 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_round_rate(), clk_set_rate(),
clk_set_parent(), or clk_get_parent() 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.
Based on commit bd7fefe1f06ca6cc ("ARM: w90x900: normalize clk API").
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/19503/
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-mips@linux-mips.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/ar7/clock.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/mips/ar7/clock.c b/arch/mips/ar7/clock.c index 0137656107a9..6b64fd96dba8 100644 --- a/arch/mips/ar7/clock.c +++ b/arch/mips/ar7/clock.c @@ -476,3 +476,32 @@ void __init ar7_init_clocks(void) /* adjust vbus clock rate */ vbus_clk.rate = bus_clk.rate / 2; } + +/* 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); |