On Tue, Jul 21, 2020 at 07:38:40PM -0700, Guenter Roeck wrote:
> On Thu, Dec 12, 2019 at 11:38:43AM +0900, Kuninori Morimoto wrote:
> > From: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
> > 
> > __delay() is used from kernel module.
> > We need EXPORT_SYMBOL(), otherwise we will get compile error.
> > 
> > ERROR: "__delay" [drivers/net/phy/mdio-cavium.ko] undefined!
> > 
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
> 
> I must admit that this patch completely baffles me. __delay was
> already exported, only elsewhere in the file. With this patch
> in place, it is exported twice, and all sh builds in -next fail
> with
> 
> In file included from include/linux/linkage.h:7,
>                  from arch/sh/include/asm/bug.h:5,
>                  from include/linux/bug.h:5,
>                  from include/linux/thread_info.h:12,
>                  from include/asm-generic/current.h:5,
>                  from ./arch/sh/include/generated/asm/current.h:1,
>                  from include/linux/sched.h:12,
>                  from arch/sh/lib/delay.c:8:
> include/linux/export.h:67:36: error: redefinition of '__ksymtab___delay'
> 
> Guenter
> 
> > ---
> >  arch/sh/lib/delay.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/sh/lib/delay.c b/arch/sh/lib/delay.c
> > index dad8e6a..540e670 100644
> > --- a/arch/sh/lib/delay.c
> > +++ b/arch/sh/lib/delay.c
> > @@ -29,6 +29,7 @@ void __delay(unsigned long loops)
> >             : "0" (loops)
> >             : "t");
> >  }
> > +EXPORT_SYMBOL(__delay);
> >  
> >  inline void __const_udelay(unsigned long xloops)
> >  {

I presently have a revert of this commit in queue for next. If it's
sufficiently breaking (and especially if there are other regressions
that need to be fixed, see the pmd_free thing) I could try to get it
in for 5.8 still but that's getting a bit late.

Rich

Reply via email to