2021-11-17 19:10:25

by kernel test robot

[permalink] [raw]
Subject: ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ee1703cda8dc777e937dec172da55beaf1a74919
commit: 2bdd5238e756aac3ecbffc7c22b884485e84062e PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver
date: 4 weeks ago
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 11.2.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=2bdd5238e756aac3ecbffc7c22b884485e84062e
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 2bdd5238e756aac3ecbffc7c22b884485e84062e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=mips

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

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

ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
>> ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>> ERROR: modpost: "mips_cpc_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>> ERROR: modpost: "mips_cm_lock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>> ERROR: modpost: "mips_cm_is64" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>> ERROR: modpost: "mips_gcr_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (1.76 kB)
.config.gz (70.03 kB)
Download all attachments

2021-11-19 04:56:46

by Randy Dunlap

[permalink] [raw]
Subject: Re: ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!

On 11/17/21 11:09 AM, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: ee1703cda8dc777e937dec172da55beaf1a74919
> commit: 2bdd5238e756aac3ecbffc7c22b884485e84062e PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver
> date: 4 weeks ago
> config: mips-allmodconfig (attached as .config)
> compiler: mips-linux-gcc (GCC) 11.2.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=2bdd5238e756aac3ecbffc7c22b884485e84062e
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 2bdd5238e756aac3ecbffc7c22b884485e84062e
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>, old ones prefixed by <<):
>
> ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
>>> ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>> ERROR: modpost: "mips_cpc_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>> ERROR: modpost: "mips_cm_lock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>> ERROR: modpost: "mips_cm_is64" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>> ERROR: modpost: "mips_gcr_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!


This is one way to fix these build errors. Is that what the MIPS people
want to do or should their be APIs to access these base addresses and
mips_cm_is64 data?

---
From: Randy Dunlap <[email protected]>
Subject: [PATCH] mips: kernel: export mips-cm and mips-cpc data & functions for pcie-mt7621

Fixes these build errors:

ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
ERROR: modpost: "mips_cpc_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
ERROR: modpost: "mips_cm_lock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
ERROR: modpost: "mips_cm_is64" [drivers/pci/controller/pcie-mt7621.ko] undefined!
ERROR: modpost: "mips_gcr_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!

Signed-off-by: Randy Dunlap <[email protected]>
Reported-by: kernel test robot <[email protected]>
Cc: Paul Burton <[email protected]>
Cc: Thomas Bogendoerfer <[email protected]>
Cc: [email protected]
Cc: Sergio Paracuellos <[email protected]>
Cc: Bjorn Helgaas <[email protected]>
Cc: [email protected]
---
arch/mips/kernel/mips-cm.c | 6 ++++++
arch/mips/kernel/mips-cpc.c | 2 ++
2 files changed, 8 insertions(+)

--- linux-next-20211118.orig/arch/mips/kernel/mips-cm.c
+++ linux-next-20211118/arch/mips/kernel/mips-cm.c
@@ -5,6 +5,7 @@
*/

#include <linux/errno.h>
+#include <linux/export.h>
#include <linux/percpu.h>
#include <linux/spinlock.h>

@@ -12,8 +13,11 @@
#include <asm/mipsregs.h>

void __iomem *mips_gcr_base;
+EXPORT_SYMBOL(mips_gcr_base);
+
void __iomem *mips_cm_l2sync_base;
int mips_cm_is64;
+EXPORT_SYMBOL(mips_cm_is64);

static char *cm2_tr[8] = {
"mem", "gcr", "gic", "mmio",
@@ -352,6 +356,7 @@ void mips_cm_lock_other(unsigned int clu
*/
mb();
}
+EXPORT_SYMBOL(mips_cm_lock_other);

void mips_cm_unlock_other(void)
{
@@ -368,6 +373,7 @@ void mips_cm_unlock_other(void)

preempt_enable();
}
+EXPORT_SYMBOL(mips_cm_unlock_other);

void mips_cm_error_report(void)
{
--- linux-next-20211118.orig/arch/mips/kernel/mips-cpc.c
+++ linux-next-20211118/arch/mips/kernel/mips-cpc.c
@@ -5,6 +5,7 @@
*/

#include <linux/errno.h>
+#include <linux/export.h>
#include <linux/percpu.h>
#include <linux/of.h>
#include <linux/of_address.h>
@@ -13,6 +14,7 @@
#include <asm/mips-cps.h>

void __iomem *mips_cpc_base;
+EXPORT_SYMBOL(mips_cpc_base);

static DEFINE_PER_CPU_ALIGNED(spinlock_t, cpc_core_lock);



2021-11-19 06:26:18

by Sergio Paracuellos

[permalink] [raw]
Subject: Re: ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!

Hi Randy,

On Fri, Nov 19, 2021 at 5:56 AM Randy Dunlap <[email protected]> wrote:
>
> On 11/17/21 11:09 AM, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: ee1703cda8dc777e937dec172da55beaf1a74919
> > commit: 2bdd5238e756aac3ecbffc7c22b884485e84062e PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver
> > date: 4 weeks ago
> > config: mips-allmodconfig (attached as .config)
> > compiler: mips-linux-gcc (GCC) 11.2.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=2bdd5238e756aac3ecbffc7c22b884485e84062e
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master
> > git checkout 2bdd5238e756aac3ecbffc7c22b884485e84062e
> > # save the attached .config to linux build tree
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=mips
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <[email protected]>
> >
> > All errors (new ones prefixed by >>, old ones prefixed by <<):
> >
> > ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
> >>> ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> >>> ERROR: modpost: "mips_cpc_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> >>> ERROR: modpost: "mips_cm_lock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> >>> ERROR: modpost: "mips_cm_is64" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> >>> ERROR: modpost: "mips_gcr_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>
>
> This is one way to fix these build errors. Is that what the MIPS people
> want to do or should their be APIs to access these base addresses and
> mips_cm_is64 data?

A similar patch was already sent a few weeks ago and Thomas asked for
a different approach [0].
I have sent a patch series removing mips stuff from the driver
controller. This series has not been reviewed yet [1].

[0]: https://lore.kernel.org/linux-mips/CAMhs-H8ShoaYiFOOzJaGC68nZz=V365RXN_Kjuj=fPFENGJiiw@mail.gmail.com/T/#t
[1]: https://marc.info/?l=linux-pci&m=163696011110084&w=3

Best regards,
Sergio Paracuellos

>
> ---
> From: Randy Dunlap <[email protected]>
> Subject: [PATCH] mips: kernel: export mips-cm and mips-cpc data & functions for pcie-mt7621
>
> Fixes these build errors:
>
> ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> ERROR: modpost: "mips_cpc_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> ERROR: modpost: "mips_cm_lock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> ERROR: modpost: "mips_cm_is64" [drivers/pci/controller/pcie-mt7621.ko] undefined!
> ERROR: modpost: "mips_gcr_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>
> Signed-off-by: Randy Dunlap <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Cc: Paul Burton <[email protected]>
> Cc: Thomas Bogendoerfer <[email protected]>
> Cc: [email protected]
> Cc: Sergio Paracuellos <[email protected]>
> Cc: Bjorn Helgaas <[email protected]>
> Cc: [email protected]
> ---
> arch/mips/kernel/mips-cm.c | 6 ++++++
> arch/mips/kernel/mips-cpc.c | 2 ++
> 2 files changed, 8 insertions(+)
>
> --- linux-next-20211118.orig/arch/mips/kernel/mips-cm.c
> +++ linux-next-20211118/arch/mips/kernel/mips-cm.c
> @@ -5,6 +5,7 @@
> */
>
> #include <linux/errno.h>
> +#include <linux/export.h>
> #include <linux/percpu.h>
> #include <linux/spinlock.h>
>
> @@ -12,8 +13,11 @@
> #include <asm/mipsregs.h>
>
> void __iomem *mips_gcr_base;
> +EXPORT_SYMBOL(mips_gcr_base);
> +
> void __iomem *mips_cm_l2sync_base;
> int mips_cm_is64;
> +EXPORT_SYMBOL(mips_cm_is64);
>
> static char *cm2_tr[8] = {
> "mem", "gcr", "gic", "mmio",
> @@ -352,6 +356,7 @@ void mips_cm_lock_other(unsigned int clu
> */
> mb();
> }
> +EXPORT_SYMBOL(mips_cm_lock_other);
>
> void mips_cm_unlock_other(void)
> {
> @@ -368,6 +373,7 @@ void mips_cm_unlock_other(void)
>
> preempt_enable();
> }
> +EXPORT_SYMBOL(mips_cm_unlock_other);
>
> void mips_cm_error_report(void)
> {
> --- linux-next-20211118.orig/arch/mips/kernel/mips-cpc.c
> +++ linux-next-20211118/arch/mips/kernel/mips-cpc.c
> @@ -5,6 +5,7 @@
> */
>
> #include <linux/errno.h>
> +#include <linux/export.h>
> #include <linux/percpu.h>
> #include <linux/of.h>
> #include <linux/of_address.h>
> @@ -13,6 +14,7 @@
> #include <asm/mips-cps.h>
>
> void __iomem *mips_cpc_base;
> +EXPORT_SYMBOL(mips_cpc_base);
>
> static DEFINE_PER_CPU_ALIGNED(spinlock_t, cpc_core_lock);
>
>

2021-11-19 15:41:29

by Randy Dunlap

[permalink] [raw]
Subject: Re: ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!

On 11/18/21 10:26 PM, Sergio Paracuellos wrote:
> Hi Randy,
>
> On Fri, Nov 19, 2021 at 5:56 AM Randy Dunlap <[email protected]> wrote:
>>
>> On 11/17/21 11:09 AM, kernel test robot wrote:
>>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>> head: ee1703cda8dc777e937dec172da55beaf1a74919
>>> commit: 2bdd5238e756aac3ecbffc7c22b884485e84062e PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver
>>> date: 4 weeks ago
>>> config: mips-allmodconfig (attached as .config)
>>> compiler: mips-linux-gcc (GCC) 11.2.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=2bdd5238e756aac3ecbffc7c22b884485e84062e
>>> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>> git fetch --no-tags linus master
>>> git checkout 2bdd5238e756aac3ecbffc7c22b884485e84062e
>>> # save the attached .config to linux build tree
>>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=mips
>>>
>>> If you fix the issue, kindly add following tag as appropriate
>>> Reported-by: kernel test robot <[email protected]>
>>>
>>> All errors (new ones prefixed by >>, old ones prefixed by <<):
>>>
>>> ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
>>>>> ERROR: modpost: "mips_cm_unlock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>>>> ERROR: modpost: "mips_cpc_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>>>> ERROR: modpost: "mips_cm_lock_other" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>>>> ERROR: modpost: "mips_cm_is64" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>>>> ERROR: modpost: "mips_gcr_base" [drivers/pci/controller/pcie-mt7621.ko] undefined!
>>
>>
>> This is one way to fix these build errors. Is that what the MIPS people
>> want to do or should their be APIs to access these base addresses and
>> mips_cm_is64 data?
>
> A similar patch was already sent a few weeks ago and Thomas asked for
> a different approach [0].
> I have sent a patch series removing mips stuff from the driver
> controller. This series has not been reviewed yet [1].
>
> [0]: https://lore.kernel.org/linux-mips/CAMhs-H8ShoaYiFOOzJaGC68nZz=V365RXN_Kjuj=fPFENGJiiw@mail.gmail.com/T/#t
> [1]: https://marc.info/?l=linux-pci&m=163696011110084&w=3
>

Oh, very good then. Thanks.

--
~Randy