Message ID | 1528706663-20670-2-git-send-email-geert@linux-m68k.org |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Series | Legacy clock drivers: Normalize clk API | expand |
Hi Geert, On 11/06/18 18:44, Geert Uytterhoeven wrote: > 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> I am fine with this for ColdFire, so Acked-by: Greg Ungerer <gerg@linux-m68k.org> Are you going to take this/these via your m68k git tree? Regards Greg > --- > arch/m68k/coldfire/clk.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/arch/m68k/coldfire/clk.c b/arch/m68k/coldfire/clk.c > index 849cd208e2ed99e6..7bc666e482ebe82f 100644 > --- a/arch/m68k/coldfire/clk.c > +++ b/arch/m68k/coldfire/clk.c > @@ -129,4 +129,33 @@ unsigned long clk_get_rate(struct clk *clk) > } > EXPORT_SYMBOL(clk_get_rate); > > +/* 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); > + > /***************************************************************************/ >
Hi Greg, On Tue, Jun 12, 2018 at 9:27 AM Greg Ungerer <gerg@linux-m68k.org> wrote: > On 11/06/18 18:44, Geert Uytterhoeven wrote: > > 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> > > I am fine with this for ColdFire, so > > Acked-by: Greg Ungerer <gerg@linux-m68k.org> Thanks! > Are you going to take this/these via your m68k git tree? I''m fine delagating this to you. Thanks! Gr{oetje,eeting}s, Geert
Hi Geert, On 12/06/18 17:31, Geert Uytterhoeven wrote: > On Tue, Jun 12, 2018 at 9:27 AM Greg Ungerer <gerg@linux-m68k.org> wrote: >> On 11/06/18 18:44, Geert Uytterhoeven wrote: >>> 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> >> >> I am fine with this for ColdFire, so >> >> Acked-by: Greg Ungerer <gerg@linux-m68k.org> > > Thanks! > >> Are you going to take this/these via your m68k git tree? > > I''m fine delagating this to you. No problem. I'll add it to the m68knommu git tree (for-next branch) when the merge window closes. Thanks Greg
diff --git a/arch/m68k/coldfire/clk.c b/arch/m68k/coldfire/clk.c index 849cd208e2ed99e6..7bc666e482ebe82f 100644 --- a/arch/m68k/coldfire/clk.c +++ b/arch/m68k/coldfire/clk.c @@ -129,4 +129,33 @@ unsigned long clk_get_rate(struct clk *clk) } EXPORT_SYMBOL(clk_get_rate); +/* 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); + /***************************************************************************/
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> --- arch/m68k/coldfire/clk.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+)