On 25/10/2015 23:21, Hauke Mehrtens wrote: > This adds a basic implementation of clk_round_rate() > The clk_round_rate() function is called by multiple drivers and > subsystems now and the lantiq clk driver is supposed to export this, > but doesn't do so, this causes linking problems like this one: > ERROR: "clk_round_rate" [drivers/media/v4l2-core/videodev.ko] undefined! > > Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ Acked-by: John Crispin <blogic@xxxxxxxxxxx> > --- > arch/mips/lantiq/clk.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c > index 3fc2e6d..a0706fd 100644 > --- a/arch/mips/lantiq/clk.c > +++ b/arch/mips/lantiq/clk.c > @@ -99,6 +99,23 @@ int clk_set_rate(struct clk *clk, unsigned long rate) > } > EXPORT_SYMBOL(clk_set_rate); > > +long clk_round_rate(struct clk *clk, unsigned long rate) > +{ > + if (unlikely(!clk_good(clk))) > + return 0; > + if (clk->rates && *clk->rates) { > + unsigned long *r = clk->rates; > + > + while (*r && (*r != rate)) > + r++; > + if (!*r) { > + return clk->rate; > + } > + } > + return rate; > +} > +EXPORT_SYMBOL(clk_round_rate); > + > int clk_enable(struct clk *clk) > { > if (unlikely(!clk_good(clk))) >