diff mbox series

MIPS: ralink: export rt_sysc_membase for rt2880_wdt.c

Message ID 20210517005417.18338-1-rdunlap@infradead.org (mailing list archive)
State Not Applicable
Headers show
Series MIPS: ralink: export rt_sysc_membase for rt2880_wdt.c | expand

Commit Message

Randy Dunlap May 17, 2021, 12:54 a.m. UTC
rt2880_wdt.c uses (well, attempts to use) rt_sysc_membase. However,
when this watchdog driver is built as a loadable module, there is a
build error since the rt_sysc_membase symbol is not exported.
Export it to quell the build error.

ERROR: modpost: "rt_sysc_membase" [drivers/watchdog/rt2880_wdt.ko] undefined!

Fixes: 473cf939ff34 ("watchdog: add ralink watchdog driver")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: John Crispin <john@phrozen.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-watchdog@vger.kernel.org
---
or make the Kconfig symbol RALINK_WDT bool instead of tristate?

 arch/mips/ralink/of.c |    2 ++
 1 file changed, 2 insertions(+)

Comments

Guenter Roeck May 17, 2021, 5:06 a.m. UTC | #1
On 5/16/21 5:54 PM, Randy Dunlap wrote:
> rt2880_wdt.c uses (well, attempts to use) rt_sysc_membase. However,
> when this watchdog driver is built as a loadable module, there is a
> build error since the rt_sysc_membase symbol is not exported.
> Export it to quell the build error.
> 
> ERROR: modpost: "rt_sysc_membase" [drivers/watchdog/rt2880_wdt.ko] undefined!
> 
> Fixes: 473cf939ff34 ("watchdog: add ralink watchdog driver")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Wim Van Sebroeck <wim@iguana.be>

Acked-by: Guenter Roeck <linux@roeck-us.net>

> Cc: John Crispin <john@phrozen.org>
> Cc: linux-mips@vger.kernel.org
> Cc: linux-watchdog@vger.kernel.org
> ---
> or make the Kconfig symbol RALINK_WDT bool instead of tristate?
> 

You'd have to change several other config symbols to boolean as well.

Example with PHY_MT7621_PCI=m:

ERROR: modpost: "rt_sysc_membase" [drivers/phy/ralink/phy-mt7621-pci.ko] undefined!
make[1]: *** [scripts/Makefile.modpost:150: modules-only.symvers] Error 1

Same with MT7621_WDT=m.

ERROR: modpost: "rt_sysc_membase" [drivers/watchdog/mt7621_wdt.ko] undefined!

At that point I stopped looking.

Guenter

>   arch/mips/ralink/of.c |    2 ++
>   1 file changed, 2 insertions(+)
> 
> --- linux-next-20210514.orig/arch/mips/ralink/of.c
> +++ linux-next-20210514/arch/mips/ralink/of.c
> @@ -8,6 +8,7 @@
>   
>   #include <linux/io.h>
>   #include <linux/clk.h>
> +#include <linux/export.h>
>   #include <linux/init.h>
>   #include <linux/sizes.h>
>   #include <linux/of_fdt.h>
> @@ -25,6 +26,7 @@
>   
>   __iomem void *rt_sysc_membase;
>   __iomem void *rt_memc_membase;
> +EXPORT_SYMBOL_GPL(rt_sysc_membase);
>   
>   __iomem void *plat_of_remap_node(const char *node)
>   {
>
Sergio Paracuellos May 17, 2021, 6:31 a.m. UTC | #2
Hi Guenter,

On Mon, May 17, 2021 at 8:23 AM Guenter Roeck <linux@roeck-us.net> wrote:
>
> On 5/16/21 5:54 PM, Randy Dunlap wrote:
> > rt2880_wdt.c uses (well, attempts to use) rt_sysc_membase. However,
> > when this watchdog driver is built as a loadable module, there is a
> > build error since the rt_sysc_membase symbol is not exported.
> > Export it to quell the build error.
> >
> > ERROR: modpost: "rt_sysc_membase" [drivers/watchdog/rt2880_wdt.ko] undefined!
> >
> > Fixes: 473cf939ff34 ("watchdog: add ralink watchdog driver")
> > Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> > Cc: Guenter Roeck <linux@roeck-us.net>
> > Cc: Wim Van Sebroeck <wim@iguana.be>
>
> Acked-by: Guenter Roeck <linux@roeck-us.net>
>
> > Cc: John Crispin <john@phrozen.org>
> > Cc: linux-mips@vger.kernel.org
> > Cc: linux-watchdog@vger.kernel.org
> > ---
> > or make the Kconfig symbol RALINK_WDT bool instead of tristate?
> >
>
> You'd have to change several other config symbols to boolean as well.
>
> Example with PHY_MT7621_PCI=m:
>
> ERROR: modpost: "rt_sysc_membase" [drivers/phy/ralink/phy-mt7621-pci.ko] undefined!
> make[1]: *** [scripts/Makefile.modpost:150: modules-only.symvers] Error 1

This is already changed and not using this rt_* apis anymore. See:

https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/commit/?h=next&id=60ece833ccd00c4fc9b10bbce2fa6291f61c6230
https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/commit/?h=next&id=6eded551cefe3ef6e2b3ff76b6a77a2ecd4fa20a

>
> Same with MT7621_WDT=m.
>
> ERROR: modpost: "rt_sysc_membase" [drivers/watchdog/mt7621_wdt.ko] undefined!
>
> At that point I stopped looking.
>
> Guenter

Best regards,
    Sergio Paracuellos

>
> >   arch/mips/ralink/of.c |    2 ++
> >   1 file changed, 2 insertions(+)
> >
> > --- linux-next-20210514.orig/arch/mips/ralink/of.c
> > +++ linux-next-20210514/arch/mips/ralink/of.c
> > @@ -8,6 +8,7 @@
> >
> >   #include <linux/io.h>
> >   #include <linux/clk.h>
> > +#include <linux/export.h>
> >   #include <linux/init.h>
> >   #include <linux/sizes.h>
> >   #include <linux/of_fdt.h>
> > @@ -25,6 +26,7 @@
> >
> >   __iomem void *rt_sysc_membase;
> >   __iomem void *rt_memc_membase;
> > +EXPORT_SYMBOL_GPL(rt_sysc_membase);
> >
> >   __iomem void *plat_of_remap_node(const char *node)
> >   {
> >
>
Thomas Bogendoerfer May 25, 2021, 1:39 p.m. UTC | #3
On Sun, May 16, 2021 at 05:54:17PM -0700, Randy Dunlap wrote:
> rt2880_wdt.c uses (well, attempts to use) rt_sysc_membase. However,
> when this watchdog driver is built as a loadable module, there is a
> build error since the rt_sysc_membase symbol is not exported.
> Export it to quell the build error.
> 
> ERROR: modpost: "rt_sysc_membase" [drivers/watchdog/rt2880_wdt.ko] undefined!
> 
> Fixes: 473cf939ff34 ("watchdog: add ralink watchdog driver")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Wim Van Sebroeck <wim@iguana.be>
> Cc: John Crispin <john@phrozen.org>
> Cc: linux-mips@vger.kernel.org
> Cc: linux-watchdog@vger.kernel.org
> ---
> or make the Kconfig symbol RALINK_WDT bool instead of tristate?
> 
>  arch/mips/ralink/of.c |    2 ++
>  1 file changed, 2 insertions(+)

applied to mips-fixes.

Thomas.
diff mbox series

Patch

--- linux-next-20210514.orig/arch/mips/ralink/of.c
+++ linux-next-20210514/arch/mips/ralink/of.c
@@ -8,6 +8,7 @@ 
 
 #include <linux/io.h>
 #include <linux/clk.h>
+#include <linux/export.h>
 #include <linux/init.h>
 #include <linux/sizes.h>
 #include <linux/of_fdt.h>
@@ -25,6 +26,7 @@ 
 
 __iomem void *rt_sysc_membase;
 __iomem void *rt_memc_membase;
+EXPORT_SYMBOL_GPL(rt_sysc_membase);
 
 __iomem void *plat_of_remap_node(const char *node)
 {