Hi Randy, On Fri, Nov 19, 2021 at 5:56 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> 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 <lkp@xxxxxxxxx> > > > > 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@xxxxxxxxxxxxxx/T/#t [1]: https://marc.info/?l=linux-pci&m=163696011110084&w=3 Best regards, Sergio Paracuellos > > --- > From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > 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 <rdunlap@xxxxxxxxxxxxx> > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Cc: Paul Burton <paulburton@xxxxxxxxxx> > Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> > Cc: linux-mips@xxxxxxxxxxxxxxx > Cc: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx> > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Cc: linux-pci@xxxxxxxxxxxxxxx > --- > 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); > >