linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
@ 2021-05-29 23:25 kernel test robot
  2021-05-31  0:05 ` Randy Dunlap
  0 siblings, 1 reply; 17+ messages in thread
From: kernel test robot @ 2021-05-29 23:25 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1754 bytes --]

Hi Andrew,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
date:   9 months ago
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
   Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA
   Selected by
   - SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC
   - SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 52881 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-29 23:25 ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined! kernel test robot
@ 2021-05-31  0:05 ` Randy Dunlap
  2021-05-31  1:13   ` Randy Dunlap
  2021-05-31  7:29   ` Geert Uytterhoeven
  0 siblings, 2 replies; 17+ messages in thread
From: Randy Dunlap @ 2021-05-31  0:05 UTC (permalink / raw)
  To: kernel test robot, Andrew Lunn
  Cc: kbuild-all, linux-kernel, Geert Uytterhoeven, Rich Felker

On 5/29/21 4:25 PM, kernel test robot wrote:
> Hi Andrew,
> 
> First bad commit (maybe != root cause):
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
> commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
> date:   9 months ago
> config: sh-allmodconfig (attached as .config)
> compiler: sh4-linux-gcc (GCC) 9.3.0
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>         git fetch --no-tags linus master
>         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All errors (new ones prefixed by >>, old ones prefixed by <<):
> 
>>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

Just a comment here.  kernel test robot has reported this issue
5 times in 2021 that I know of -- and I could have missed some.

I see that Geert recently (June 2020) reverted the
EXPORT_SYMBOL(__delay) in arch/sh/lib/delay.c, with this comment:

    __delay() is an internal implementation detail on several architectures.
    Drivers should not call __delay() directly, as it has non-standardized
    semantics, or may not even exist.
    Hence there is no need to export __delay() to modules.

    See also include/asm-generic/delay.h:
    
        /* Undefined functions to get compile-time errors */
        ...
        extern void __delay(unsigned long loops);

However, s/several architectures/all but one architecture: SH/.
All architectures except for SH provide either an exported function,
an inline function, or a macro for __delay(). Yeah, they probably
don't all do the same delay.

-- 
~Randy


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31  0:05 ` Randy Dunlap
@ 2021-05-31  1:13   ` Randy Dunlap
  2021-05-31  7:36     ` Geert Uytterhoeven
  2021-05-31  7:29   ` Geert Uytterhoeven
  1 sibling, 1 reply; 17+ messages in thread
From: Randy Dunlap @ 2021-05-31  1:13 UTC (permalink / raw)
  To: kernel test robot, Andrew Lunn
  Cc: kbuild-all, linux-kernel, Geert Uytterhoeven, Rich Felker

On 5/30/21 5:05 PM, Randy Dunlap wrote:
> On 5/29/21 4:25 PM, kernel test robot wrote:
>> Hi Andrew,
>>
>> First bad commit (maybe != root cause):
>>
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
>> commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
>> date:   9 months ago
>> config: sh-allmodconfig (attached as .config)
>> compiler: sh4-linux-gcc (GCC) 9.3.0
>> reproduce (this is a W=1 build):
>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>         chmod +x ~/bin/make.cross
>>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
>>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>         git fetch --no-tags linus master
>>         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
>>         # save the attached .config to linux build tree
>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>
>>>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

Should we make this one driver depend on !SUPERH ?


> 
> Just a comment here.  kernel test robot has reported this issue
> 5 times in 2021 that I know of -- and I could have missed some.
> 
> I see that Geert recently (June 2020) reverted the
> EXPORT_SYMBOL(__delay) in arch/sh/lib/delay.c, with this comment:
> 
>     __delay() is an internal implementation detail on several architectures.
>     Drivers should not call __delay() directly, as it has non-standardized
>     semantics, or may not even exist.
>     Hence there is no need to export __delay() to modules.
> 
>     See also include/asm-generic/delay.h:
>     
>         /* Undefined functions to get compile-time errors */
>         ...
>         extern void __delay(unsigned long loops);
> 
> However, s/several architectures/all but one architecture: SH/.
> All architectures except for SH provide either an exported function,
> an inline function, or a macro for __delay(). Yeah, they probably
> don't all do the same delay.
> 

-- 
~Randy


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31  0:05 ` Randy Dunlap
  2021-05-31  1:13   ` Randy Dunlap
@ 2021-05-31  7:29   ` Geert Uytterhoeven
  2021-05-31  7:32     ` Geert Uytterhoeven
  1 sibling, 1 reply; 17+ messages in thread
From: Geert Uytterhoeven @ 2021-05-31  7:29 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: kernel test robot, Andrew Lunn, kbuild-all,
	Linux Kernel Mailing List, Rich Felker

On Mon, May 31, 2021 at 2:05 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> On 5/29/21 4:25 PM, kernel test robot wrote:
> > First bad commit (maybe != root cause):
> >
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
> > commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
> > date:   9 months ago
> > config: sh-allmodconfig (attached as .config)
> > compiler: sh4-linux-gcc (GCC) 9.3.0
> > reproduce (this is a W=1 build):
> >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
> >         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >         git fetch --no-tags linus master
> >         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
> >         # save the attached .config to linux build tree
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> >
> > All errors (new ones prefixed by >>, old ones prefixed by <<):
> >
> >>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
>
> Just a comment here.  kernel test robot has reported this issue
> 5 times in 2021 that I know of -- and I could have missed some.
>
> I see that Geert recently (June 2020) reverted the
> EXPORT_SYMBOL(__delay) in arch/sh/lib/delay.c, with this comment:
>
>     __delay() is an internal implementation detail on several architectures.
>     Drivers should not call __delay() directly, as it has non-standardized
>     semantics, or may not even exist.
>     Hence there is no need to export __delay() to modules.
>
>     See also include/asm-generic/delay.h:
>
>         /* Undefined functions to get compile-time errors */
>         ...
>         extern void __delay(unsigned long loops);
>
> However, s/several architectures/all but one architecture: SH/.
> All architectures except for SH provide either an exported function,
> an inline function, or a macro for __delay(). Yeah, they probably
> don't all do the same delay.

Hence it must not be used by drivers, as it might give the false assumption
of working everywhere.  While drivers/net/mdio/mdio-cavium is
platform-specific, code might be copied in a new driver, less restricted
to a specific platform.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31  7:29   ` Geert Uytterhoeven
@ 2021-05-31  7:32     ` Geert Uytterhoeven
  2021-05-31 15:12       ` Randy Dunlap
  0 siblings, 1 reply; 17+ messages in thread
From: Geert Uytterhoeven @ 2021-05-31  7:32 UTC (permalink / raw)
  To: Randy Dunlap, David Daney
  Cc: kernel test robot, Andrew Lunn, kbuild-all,
	Linux Kernel Mailing List, Rich Felker

CC David (original author, asked by driver location change)

On Mon, May 31, 2021 at 9:29 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> On Mon, May 31, 2021 at 2:05 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> > On 5/29/21 4:25 PM, kernel test robot wrote:
> > > First bad commit (maybe != root cause):
> > >
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
> > > commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
> > > date:   9 months ago
> > > config: sh-allmodconfig (attached as .config)
> > > compiler: sh4-linux-gcc (GCC) 9.3.0
> > > reproduce (this is a W=1 build):
> > >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > >         chmod +x ~/bin/make.cross
> > >         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
> > >         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > >         git fetch --no-tags linus master
> > >         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
> > >         # save the attached .config to linux build tree
> > >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
> > >
> > > If you fix the issue, kindly add following tag as appropriate
> > > Reported-by: kernel test robot <lkp@intel.com>
> > >
> > > All errors (new ones prefixed by >>, old ones prefixed by <<):
> > >
> > >>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
> >
> > Just a comment here.  kernel test robot has reported this issue
> > 5 times in 2021 that I know of -- and I could have missed some.
> >
> > I see that Geert recently (June 2020) reverted the
> > EXPORT_SYMBOL(__delay) in arch/sh/lib/delay.c, with this comment:
> >
> >     __delay() is an internal implementation detail on several architectures.
> >     Drivers should not call __delay() directly, as it has non-standardized
> >     semantics, or may not even exist.
> >     Hence there is no need to export __delay() to modules.
> >
> >     See also include/asm-generic/delay.h:
> >
> >         /* Undefined functions to get compile-time errors */
> >         ...
> >         extern void __delay(unsigned long loops);
> >
> > However, s/several architectures/all but one architecture: SH/.
> > All architectures except for SH provide either an exported function,
> > an inline function, or a macro for __delay(). Yeah, they probably
> > don't all do the same delay.
>
> Hence it must not be used by drivers, as it might give the false assumption
> of working everywhere.  While drivers/net/mdio/mdio-cavium is
> platform-specific, code might be copied in a new driver, less restricted
> to a specific platform.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31  1:13   ` Randy Dunlap
@ 2021-05-31  7:36     ` Geert Uytterhoeven
  2021-05-31 14:34       ` Randy Dunlap
  0 siblings, 1 reply; 17+ messages in thread
From: Geert Uytterhoeven @ 2021-05-31  7:36 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: kernel test robot, Andrew Lunn, kbuild-all,
	Linux Kernel Mailing List, Rich Felker, David Daney

On Mon, May 31, 2021 at 3:13 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> On 5/30/21 5:05 PM, Randy Dunlap wrote:
> > On 5/29/21 4:25 PM, kernel test robot wrote:
> >> First bad commit (maybe != root cause):
> >>
> >> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> >> head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
> >> commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
> >> date:   9 months ago
> >> config: sh-allmodconfig (attached as .config)
> >> compiler: sh4-linux-gcc (GCC) 9.3.0
> >> reproduce (this is a W=1 build):
> >>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >>         chmod +x ~/bin/make.cross
> >>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
> >>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >>         git fetch --no-tags linus master
> >>         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
> >>         # save the attached .config to linux build tree
> >>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
> >>
> >> If you fix the issue, kindly add following tag as appropriate
> >> Reported-by: kernel test robot <lkp@intel.com>
> >>
> >> All errors (new ones prefixed by >>, old ones prefixed by <<):
> >>
> >>>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
>
> Should we make this one driver depend on !SUPERH ?

No, we should just fix the driver instead.

+               /* Wait 1000 clocks so we don't saturate the RSL bus
+                * doing reads.
+                */
+               __delay(1000);

As this is used only on Cavium Octeon and Thunder SoCs, running
at 400-600 MHz resp. 1800-2000 Mhz, what about replacing the __delay()
call by a call to udelay(1) or udelay(2)?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31  7:36     ` Geert Uytterhoeven
@ 2021-05-31 14:34       ` Randy Dunlap
  2021-05-31 14:46         ` Andrew Lunn
  0 siblings, 1 reply; 17+ messages in thread
From: Randy Dunlap @ 2021-05-31 14:34 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: kernel test robot, Andrew Lunn, kbuild-all,
	Linux Kernel Mailing List, Rich Felker, David Daney

On 5/31/21 12:36 AM, Geert Uytterhoeven wrote:
> On Mon, May 31, 2021 at 3:13 AM Randy Dunlap <rdunlap@infradead.org> wrote:
>> On 5/30/21 5:05 PM, Randy Dunlap wrote:
>>> On 5/29/21 4:25 PM, kernel test robot wrote:
>>>> First bad commit (maybe != root cause):
>>>>
>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>> head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
>>>> commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
>>>> date:   9 months ago
>>>> config: sh-allmodconfig (attached as .config)
>>>> compiler: sh4-linux-gcc (GCC) 9.3.0
>>>> reproduce (this is a W=1 build):
>>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>         chmod +x ~/bin/make.cross
>>>>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
>>>>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>         git fetch --no-tags linus master
>>>>         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
>>>>         # save the attached .config to linux build tree
>>>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
>>>>
>>>> If you fix the issue, kindly add following tag as appropriate
>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>
>>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>>
>>>>>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
>>
>> Should we make this one driver depend on !SUPERH ?
> 
> No, we should just fix the driver instead.
> 
> +               /* Wait 1000 clocks so we don't saturate the RSL bus
> +                * doing reads.
> +                */
> +               __delay(1000);
> 
> As this is used only on Cavium Octeon and Thunder SoCs, running
> at 400-600 MHz resp. 1800-2000 Mhz, what about replacing the __delay()
> call by a call to udelay(1) or udelay(2)?

Yeah, I was planning to look into that change this week,
but it would probably be better for David to do it.


thanks.
-- 
~Randy


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31 14:34       ` Randy Dunlap
@ 2021-05-31 14:46         ` Andrew Lunn
  2021-05-31 15:09           ` Geert Uytterhoeven
  0 siblings, 1 reply; 17+ messages in thread
From: Andrew Lunn @ 2021-05-31 14:46 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Geert Uytterhoeven, kernel test robot, kbuild-all,
	Linux Kernel Mailing List, Rich Felker, David Daney

> > No, we should just fix the driver instead.
> > 
> > +               /* Wait 1000 clocks so we don't saturate the RSL bus
> > +                * doing reads.
> > +                */
> > +               __delay(1000);
> > 
> > As this is used only on Cavium Octeon and Thunder SoCs, running
> > at 400-600 MHz resp. 1800-2000 Mhz, what about replacing the __delay()
> > call by a call to udelay(1) or udelay(2)?
> 
> Yeah, I was planning to look into that change this week,
> but it would probably be better for David to do it.

If you look at the bigger picture, using linux/iopoll.h would be a
better solution.

       Andrew

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31 14:46         ` Andrew Lunn
@ 2021-05-31 15:09           ` Geert Uytterhoeven
  0 siblings, 0 replies; 17+ messages in thread
From: Geert Uytterhoeven @ 2021-05-31 15:09 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Randy Dunlap, kernel test robot, kbuild-all,
	Linux Kernel Mailing List, Rich Felker, David Daney

Hi Andrew,

On Mon, May 31, 2021 at 4:46 PM Andrew Lunn <andrew@lunn.ch> wrote:
> > > No, we should just fix the driver instead.
> > >
> > > +               /* Wait 1000 clocks so we don't saturate the RSL bus
> > > +                * doing reads.
> > > +                */
> > > +               __delay(1000);
> > >
> > > As this is used only on Cavium Octeon and Thunder SoCs, running
> > > at 400-600 MHz resp. 1800-2000 Mhz, what about replacing the __delay()
> > > call by a call to udelay(1) or udelay(2)?
> >
> > Yeah, I was planning to look into that change this week,
> > but it would probably be better for David to do it.
>
> If you look at the bigger picture, using linux/iopoll.h would be a
> better solution.

Sure, but doing that conversion[*] needs even more involvement from
the original author (who has been quiet w.r.t. to this issue ever
since the first time it was reported ca. 18 months ago), or someone
with access to the hardware.

[*] The driver doesn't use plain readq(), but a custom
    oct_mdio_readq().  Hence it cannot be used with readq_*poll*()
   as-is.



Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31  7:32     ` Geert Uytterhoeven
@ 2021-05-31 15:12       ` Randy Dunlap
  2021-05-31 15:45         ` Geert Uytterhoeven
  0 siblings, 1 reply; 17+ messages in thread
From: Randy Dunlap @ 2021-05-31 15:12 UTC (permalink / raw)
  To: Geert Uytterhoeven, David Daney
  Cc: kernel test robot, Andrew Lunn, kbuild-all,
	Linux Kernel Mailing List, Rich Felker

On 5/31/21 12:32 AM, Geert Uytterhoeven wrote:
> CC David (original author, asked by driver location change)
> 
> On Mon, May 31, 2021 at 9:29 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>>
>> On Mon, May 31, 2021 at 2:05 AM Randy Dunlap <rdunlap@infradead.org> wrote:
>>> On 5/29/21 4:25 PM, kernel test robot wrote:
>>>> First bad commit (maybe != root cause):
>>>>
>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>> head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
>>>> commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
>>>> date:   9 months ago
>>>> config: sh-allmodconfig (attached as .config)
>>>> compiler: sh4-linux-gcc (GCC) 9.3.0
>>>> reproduce (this is a W=1 build):
>>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>         chmod +x ~/bin/make.cross
>>>>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
>>>>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>         git fetch --no-tags linus master
>>>>         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
>>>>         # save the attached .config to linux build tree
>>>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
>>>>
>>>> If you fix the issue, kindly add following tag as appropriate
>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>
>>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>>
>>>>>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
>>>
>>> Just a comment here.  kernel test robot has reported this issue
>>> 5 times in 2021 that I know of -- and I could have missed some.
>>>
>>> I see that Geert recently (June 2020) reverted the
>>> EXPORT_SYMBOL(__delay) in arch/sh/lib/delay.c, with this comment:
>>>
>>>     __delay() is an internal implementation detail on several architectures.
>>>     Drivers should not call __delay() directly, as it has non-standardized
>>>     semantics, or may not even exist.
>>>     Hence there is no need to export __delay() to modules.
>>>
>>>     See also include/asm-generic/delay.h:
>>>
>>>         /* Undefined functions to get compile-time errors */
>>>         ...
>>>         extern void __delay(unsigned long loops);
>>>
>>> However, s/several architectures/all but one architecture: SH/.
>>> All architectures except for SH provide either an exported function,
>>> an inline function, or a macro for __delay(). Yeah, they probably
>>> don't all do the same delay.
>>
>> Hence it must not be used by drivers, as it might give the false assumption
>> of working everywhere.  While drivers/net/mdio/mdio-cavium is
>> platform-specific, code might be copied in a new driver, less restricted
>> to a specific platform.

Geert, should all (15) of the other arch EXPORT_SYMBOL(__delay); exports
be removed?  (in theory?  I'm not planning to remove them.)

-- 
~Randy


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31 15:12       ` Randy Dunlap
@ 2021-05-31 15:45         ` Geert Uytterhoeven
  2021-06-02  3:52           ` Randy Dunlap
  0 siblings, 1 reply; 17+ messages in thread
From: Geert Uytterhoeven @ 2021-05-31 15:45 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: David Daney, kernel test robot, Andrew Lunn, kbuild-all,
	Linux Kernel Mailing List, Rich Felker

Hi Randy,

On Mon, May 31, 2021 at 5:12 PM Randy Dunlap <rdunlap@infradead.org> wrote:
> On 5/31/21 12:32 AM, Geert Uytterhoeven wrote:
> > CC David (original author, asked by driver location change)
> >
> > On Mon, May 31, 2021 at 9:29 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> >>
> >> On Mon, May 31, 2021 at 2:05 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> >>> On 5/29/21 4:25 PM, kernel test robot wrote:
> >>>> First bad commit (maybe != root cause):
> >>>>
> >>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> >>>> head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
> >>>> commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
> >>>> date:   9 months ago
> >>>> config: sh-allmodconfig (attached as .config)
> >>>> compiler: sh4-linux-gcc (GCC) 9.3.0
> >>>> reproduce (this is a W=1 build):
> >>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >>>>         chmod +x ~/bin/make.cross
> >>>>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
> >>>>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >>>>         git fetch --no-tags linus master
> >>>>         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
> >>>>         # save the attached .config to linux build tree
> >>>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
> >>>>
> >>>> If you fix the issue, kindly add following tag as appropriate
> >>>> Reported-by: kernel test robot <lkp@intel.com>
> >>>>
> >>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
> >>>>
> >>>>>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
> >>>
> >>> Just a comment here.  kernel test robot has reported this issue
> >>> 5 times in 2021 that I know of -- and I could have missed some.
> >>>
> >>> I see that Geert recently (June 2020) reverted the
> >>> EXPORT_SYMBOL(__delay) in arch/sh/lib/delay.c, with this comment:
> >>>
> >>>     __delay() is an internal implementation detail on several architectures.
> >>>     Drivers should not call __delay() directly, as it has non-standardized
> >>>     semantics, or may not even exist.
> >>>     Hence there is no need to export __delay() to modules.
> >>>
> >>>     See also include/asm-generic/delay.h:
> >>>
> >>>         /* Undefined functions to get compile-time errors */
> >>>         ...
> >>>         extern void __delay(unsigned long loops);
> >>>
> >>> However, s/several architectures/all but one architecture: SH/.
> >>> All architectures except for SH provide either an exported function,
> >>> an inline function, or a macro for __delay(). Yeah, they probably
> >>> don't all do the same delay.
> >>
> >> Hence it must not be used by drivers, as it might give the false assumption
> >> of working everywhere.  While drivers/net/mdio/mdio-cavium is
> >> platform-specific, code might be copied in a new driver, less restricted
> >> to a specific platform.
>
> Geert, should all (15) of the other arch EXPORT_SYMBOL(__delay); exports
> be removed?  (in theory?  I'm not planning to remove them.)

It depends.  If they are internal implementation details of an
architecture's mdelay() or udelay() function (i.e. the latter are
static inline functions that may call into out-of-line __delay()
functions), then they should be kept.

I haven't checked all of them, but e.g. on arm64, mdelay() and udelay()
don't call into __delay, so IMHO its export should be removed.

Generic drivers should not use __delay() with a hardcoded value, as
its semantics are not defined (cfr. the undefined function comment
in asm-generic).

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
  2021-05-31 15:45         ` Geert Uytterhoeven
@ 2021-06-02  3:52           ` Randy Dunlap
  0 siblings, 0 replies; 17+ messages in thread
From: Randy Dunlap @ 2021-06-02  3:52 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: David Daney, kernel test robot, Andrew Lunn, kbuild-all,
	Linux Kernel Mailing List, Rich Felker

On 5/31/21 8:45 AM, Geert Uytterhoeven wrote:
> Hi Randy,
> 
> On Mon, May 31, 2021 at 5:12 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>> On 5/31/21 12:32 AM, Geert Uytterhoeven wrote:
>>> CC David (original author, asked by driver location change)
>>>
>>> On Mon, May 31, 2021 at 9:29 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>>>>
>>>> On Mon, May 31, 2021 at 2:05 AM Randy Dunlap <rdunlap@infradead.org> wrote:
>>>>> On 5/29/21 4:25 PM, kernel test robot wrote:
>>>>>> First bad commit (maybe != root cause):
>>>>>>
>>>>>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>>>> head:   df8c66c4cfb91f2372d138b9b714f6df6f506966
>>>>>> commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
>>>>>> date:   9 months ago
>>>>>> config: sh-allmodconfig (attached as .config)
>>>>>> compiler: sh4-linux-gcc (GCC) 9.3.0
>>>>>> reproduce (this is a W=1 build):
>>>>>>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>>>>>         chmod +x ~/bin/make.cross
>>>>>>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
>>>>>>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>>>         git fetch --no-tags linus master
>>>>>>         git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
>>>>>>         # save the attached .config to linux build tree
>>>>>>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
>>>>>>
>>>>>> If you fix the issue, kindly add following tag as appropriate
>>>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>>>
>>>>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>>>>
>>>>>>>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
>>>>>
>>>>> Just a comment here.  kernel test robot has reported this issue
>>>>> 5 times in 2021 that I know of -- and I could have missed some.
>>>>>
>>>>> I see that Geert recently (June 2020) reverted the
>>>>> EXPORT_SYMBOL(__delay) in arch/sh/lib/delay.c, with this comment:
>>>>>
>>>>>     __delay() is an internal implementation detail on several architectures.
>>>>>     Drivers should not call __delay() directly, as it has non-standardized
>>>>>     semantics, or may not even exist.
>>>>>     Hence there is no need to export __delay() to modules.
>>>>>
>>>>>     See also include/asm-generic/delay.h:
>>>>>
>>>>>         /* Undefined functions to get compile-time errors */
>>>>>         ...
>>>>>         extern void __delay(unsigned long loops);
>>>>>
>>>>> However, s/several architectures/all but one architecture: SH/.
>>>>> All architectures except for SH provide either an exported function,
>>>>> an inline function, or a macro for __delay(). Yeah, they probably
>>>>> don't all do the same delay.
>>>>
>>>> Hence it must not be used by drivers, as it might give the false assumption
>>>> of working everywhere.  While drivers/net/mdio/mdio-cavium is
>>>> platform-specific, code might be copied in a new driver, less restricted
>>>> to a specific platform.
>>
>> Geert, should all (15) of the other arch EXPORT_SYMBOL(__delay); exports
>> be removed?  (in theory?  I'm not planning to remove them.)
> 
> It depends.  If they are internal implementation details of an
> architecture's mdelay() or udelay() function (i.e. the latter are
> static inline functions that may call into out-of-line __delay()
> functions), then they should be kept.
> 
> I haven't checked all of them, but e.g. on arm64, mdelay() and udelay()
> don't call into __delay, so IMHO its export should be removed.
> 
> Generic drivers should not use __delay() with a hardcoded value, as
> its semantics are not defined (cfr. the undefined function comment
> in asm-generic).

Thanks, Geert. I get it.

Hopefully David Daney will jump in here with a patch at some point.

-- 
~Randy


^ permalink raw reply	[flat|nested] 17+ messages in thread

* ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
@ 2024-03-23 20:39 kernel test robot
  0 siblings, 0 replies; 17+ messages in thread
From: kernel test robot @ 2024-03-23 20:39 UTC (permalink / raw)
  To: Masahiro Yamada; +Cc: oe-kbuild-all, linux-kernel

Hi Masahiro,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   484193fecd2b6349a6fd1554d306aec646ae1a6a
commit: fc93a4cdce1db7568fcdff608924324f5754efe5 kbuild: make *.mod not depend on *.o
date:   1 year, 11 months ago
config: sh-randconfig-002-20240323 (https://download.01.org/0day-ci/archive/20240324/202403240422.Abh1O9vI-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240324/202403240422.Abh1O9vI-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403240422.Abh1O9vI-lkp@intel.com/

All errors (new ones prefixed by >>, old ones prefixed by <<):

ERROR: modpost: missing MODULE_LICENSE() in drivers/iio/afe/iio-rescale.o
>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
@ 2022-07-16  6:59 kernel test robot
  0 siblings, 0 replies; 17+ messages in thread
From: kernel test robot @ 2022-07-16  6:59 UTC (permalink / raw)
  To: Mahesh Bandewar; +Cc: kbuild-all, linux-kernel

Hi Mahesh,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9b59ec8d50a1f28747ceff9a4f39af5deba9540e
commit: 3753d9779038ab011e01b949253492aaa37bf57a net: fix build without CONFIG_SYSCTL definition
date:   1 year, 10 months ago
config: sh-randconfig-r014-20220716 (https://download.01.org/0day-ci/archive/20220716/202207161440.FvNE0J51-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3753d9779038ab011e01b949253492aaa37bf57a
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 3753d9779038ab011e01b949253492aaa37bf57a
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
@ 2021-07-24 23:11 kernel test robot
  0 siblings, 0 replies; 17+ messages in thread
From: kernel test robot @ 2021-07-24 23:11 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]

Hi Andrew,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   7ffca2bb9d8bf6813db50364b1dd2c02f58fb65e
commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
date:   11 months ago
config: sh-randconfig-r032-20210724 (attached as .config)
compiler: sh4-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32185 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
@ 2021-07-11  0:49 kernel test robot
  0 siblings, 0 replies; 17+ messages in thread
From: kernel test robot @ 2021-07-11  0:49 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1755 bytes --]

Hi Andrew,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   1e16624d7b4376797ede36e3c955375cf0f23298
commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
date:   11 months ago
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
   Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA
   Selected by
   - SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC
   - SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 52856 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!
@ 2021-05-19 23:52 kernel test robot
  0 siblings, 0 replies; 17+ messages in thread
From: kernel test robot @ 2021-05-19 23:52 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1754 bytes --]

Hi Andrew,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c3d0e3fd41b7f0f5d5d5b6022ab7e813f04ea727
commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
date:   9 months ago
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9770eac511ad82390b9f4a3c1728e078c387ac7
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>, old ones prefixed by <<):

>> ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined!

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
   Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA
   Selected by
   - SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC
   - SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 52886 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-03-23 20:39 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-29 23:25 ERROR: modpost: "__delay" [drivers/net/mdio/mdio-cavium.ko] undefined! kernel test robot
2021-05-31  0:05 ` Randy Dunlap
2021-05-31  1:13   ` Randy Dunlap
2021-05-31  7:36     ` Geert Uytterhoeven
2021-05-31 14:34       ` Randy Dunlap
2021-05-31 14:46         ` Andrew Lunn
2021-05-31 15:09           ` Geert Uytterhoeven
2021-05-31  7:29   ` Geert Uytterhoeven
2021-05-31  7:32     ` Geert Uytterhoeven
2021-05-31 15:12       ` Randy Dunlap
2021-05-31 15:45         ` Geert Uytterhoeven
2021-06-02  3:52           ` Randy Dunlap
  -- strict thread matches above, loose matches on Subject: below --
2024-03-23 20:39 kernel test robot
2022-07-16  6:59 kernel test robot
2021-07-24 23:11 kernel test robot
2021-07-11  0:49 kernel test robot
2021-05-19 23:52 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).