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

4 messages, 3 authors, 2021-12-01 · open the first message on its own page

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

From: Randy Dunlap <rdunlap@infradead.org>
Date: 2021-11-19 04:56:46

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 <redacted>

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

ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
quoted
quoted
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 <rdunlap@infradead.org>
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@infradead.org>
Reported-by: kernel test robot <redacted>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: linux-mips@vger.kernel.org
Cc: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
  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);
  

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

From: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Date: 2021-11-19 06:26:18

Hi Randy,

On Fri, Nov 19, 2021 at 5:56 AM Randy Dunlap [off-list ref] wrote:
On 11/17/21 11:09 AM, kernel test robot wrote:
quoted
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 <redacted>

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

ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
quoted
quoted
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
quoted hunk
---
From: Randy Dunlap <rdunlap@infradead.org>
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@infradead.org>
Reported-by: kernel test robot <redacted>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: linux-mips@vger.kernel.org
Cc: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
  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);

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

From: Randy Dunlap <rdunlap@infradead.org>
Date: 2021-11-19 15:41:29

On 11/18/21 10:26 PM, Sergio Paracuellos wrote:
Hi Randy,

On Fri, Nov 19, 2021 at 5:56 AM Randy Dunlap [off-list ref] wrote:
quoted
On 11/17/21 11:09 AM, kernel test robot wrote:
quoted
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 <redacted>

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

ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pcie-mt7621.o
quoted
quoted
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

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

From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2021-12-01 20:34:28

On Fri, Nov 19, 2021 at 07:26:02AM +0100, Sergio Paracuellos wrote:
[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
FWIW, prefer https://lore.kernel.org/... URLs when possible.  Better
archive and more likely to last.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help