2007-02-07 14:16:36

by Esben Nielsen

[permalink] [raw]
Subject: [PATCH] Broken ArcNet com20020 pcmcia driver in 2.6.20

Hi,
I can not get my com20020 pcmcia driver to work as a module under 2.6.20.
There is the build problem:

MODPOST 30 modules
WARNING: "com20020_found" [drivers/net/pcmcia/com20020_cs.ko] undefined!
WARNING: "com20020_check" [drivers/net/pcmcia/com20020_cs.ko] undefined!

The solution:
Always export com20020_found and com20020_check.

Esben

drivers/net/arcnet/com20020.c | 3 ---
1 file changed, 3 deletions(-)

Index: linux-2.6.20/drivers/net/arcnet/com20020.c
===================================================================
--- linux-2.6.20.orig/drivers/net/arcnet/com20020.c
+++ linux-2.6.20/drivers/net/arcnet/com20020.c
@@ -337,11 +337,8 @@ static void com20020_set_mc_list(struct
}
}

-#if defined(CONFIG_ARCNET_COM20020_PCI_MODULE) || \
- defined(CONFIG_ARCNET_COM20020_ISA_MODULE)
EXPORT_SYMBOL(com20020_check);
EXPORT_SYMBOL(com20020_found);
-#endif

MODULE_LICENSE("GPL");




2007-02-07 16:56:28

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] Broken ArcNet com20020 pcmcia driver in 2.6.20

Esben Nielsen wrote:
> Hi,
> I can not get my com20020 pcmcia driver to work as a module under 2.6.20.
> There is the build problem:

Please send me your .config file. I can't seem to reproduce this.

> MODPOST 30 modules
> WARNING: "com20020_found" [drivers/net/pcmcia/com20020_cs.ko] undefined!
> WARNING: "com20020_check" [drivers/net/pcmcia/com20020_cs.ko] undefined!
>
> The solution:
> Always export com20020_found and com20020_check.
>
> Esben
>
> drivers/net/arcnet/com20020.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> Index: linux-2.6.20/drivers/net/arcnet/com20020.c
> ===================================================================
> --- linux-2.6.20.orig/drivers/net/arcnet/com20020.c
> +++ linux-2.6.20/drivers/net/arcnet/com20020.c
> @@ -337,11 +337,8 @@ static void com20020_set_mc_list(struct
> }
> }
>
> -#if defined(CONFIG_ARCNET_COM20020_PCI_MODULE) || \
> - defined(CONFIG_ARCNET_COM20020_ISA_MODULE)
> EXPORT_SYMBOL(com20020_check);
> EXPORT_SYMBOL(com20020_found);
> -#endif
>
> MODULE_LICENSE("GPL");

--
~Randy

2007-02-07 22:24:38

by Esben Nielsen

[permalink] [raw]
Subject: Re: [PATCH] Broken ArcNet com20020 pcmcia driver in 2.6.20



On Wed, 7 Feb 2007, Randy Dunlap wrote:

> Esben Nielsen wrote:
>> Hi,
>> I can not get my com20020 pcmcia driver to work as a module under 2.6.20.
>> There is the build problem:
>
> Please send me your .config file. I can't seem to reproduce this.

The relevant parts:
...
CONFIG_ARCNET_COM20020=m
# CONFIG_ARCNET_COM20020_ISA is not set
# CONFIG_ARCNET_COM20020_PCI is not set
...
CONFIG_ARCNET_COM20020_CS=m

In this hiracy it is not nice for the com20020 module to check wether
there are users for it. It breaks the direction of dependency. What if I
first compile com20020 install it, and then decide I want one of the other
modules? Then would I have to recompile com20020 and reload it.
Therefore: Remove the check, do always export the symbols.

As for actually testing: I have access to ArcNet hardware for 3 more
weeks. Then I will start at a new job, where there is no ArcNet.

Esben

>
>> MODPOST 30 modules
>> WARNING: "com20020_found" [drivers/net/pcmcia/com20020_cs.ko] undefined!
>> WARNING: "com20020_check" [drivers/net/pcmcia/com20020_cs.ko] undefined!
>>
>> The solution:
>> Always export com20020_found and com20020_check.
>>
>> Esben
>>
>> drivers/net/arcnet/com20020.c | 3 ---
>> 1 file changed, 3 deletions(-)
>>
>> Index: linux-2.6.20/drivers/net/arcnet/com20020.c
>> ===================================================================
>> --- linux-2.6.20.orig/drivers/net/arcnet/com20020.c
>> +++ linux-2.6.20/drivers/net/arcnet/com20020.c
>> @@ -337,11 +337,8 @@ static void com20020_set_mc_list(struct
>> }
>> }
>>
>> -#if defined(CONFIG_ARCNET_COM20020_PCI_MODULE) || \
>> - defined(CONFIG_ARCNET_COM20020_ISA_MODULE)
>> EXPORT_SYMBOL(com20020_check);
>> EXPORT_SYMBOL(com20020_found);
>> -#endif
>>
>> MODULE_LICENSE("GPL");
>
> --
> ~ Randy
>

2007-02-07 23:03:40

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] Broken ArcNet com20020 pcmcia driver in 2.6.20

On Wed, 7 Feb 2007 23:24:21 +0100 (CET) Esben Nielsen wrote:

> On Wed, 7 Feb 2007, Randy Dunlap wrote:
>
> > Esben Nielsen wrote:
> >> Hi,
> >> I can not get my com20020 pcmcia driver to work as a module under 2.6.20.
> >> There is the build problem:
> >
> The relevant parts:
> ...
> CONFIG_ARCNET_COM20020=m
> # CONFIG_ARCNET_COM20020_ISA is not set
> # CONFIG_ARCNET_COM20020_PCI is not set
> ...
> CONFIG_ARCNET_COM20020_CS=m

Sorry about that.

> In this hiracy it is not nice for the com20020 module to check wether
> there are users for it. It breaks the direction of dependency. What if I
> first compile com20020 install it, and then decide I want one of the other
> modules? Then would I have to recompile com20020 and reload it.
> Therefore: Remove the check, do always export the symbols.

That's not the usual kernel way, but I'll leave it up to the netdev
people. (and net mailing list changed from linux-net to netdev)

An alternative patch is below.
Thanks for your report and patch.


> As for actually testing: I have access to ArcNet hardware for 3 more
> weeks. Then I will start at a new job, where there is no ArcNet.

> >> WARNING: "com20020_found" [drivers/net/pcmcia/com20020_cs.ko] undefined!
> >> WARNING: "com20020_check" [drivers/net/pcmcia/com20020_cs.ko] undefined!
> >>
> >> The solution:
> >> Always export com20020_found and com20020_check.
> >>
> >> Esben
> >>
> >> drivers/net/arcnet/com20020.c | 3 ---
> >> 1 file changed, 3 deletions(-)
> >>
> >> Index: linux-2.6.20/drivers/net/arcnet/com20020.c
> >> ===================================================================
> >> --- linux-2.6.20.orig/drivers/net/arcnet/com20020.c
> >> +++ linux-2.6.20/drivers/net/arcnet/com20020.c
> >> @@ -337,11 +337,8 @@ static void com20020_set_mc_list(struct
> >> }
> >> }
> >>
> >> -#if defined(CONFIG_ARCNET_COM20020_PCI_MODULE) || \
> >> - defined(CONFIG_ARCNET_COM20020_ISA_MODULE)
> >> EXPORT_SYMBOL(com20020_check);
> >> EXPORT_SYMBOL(com20020_found);
> >> -#endif
> >>
> >> MODULE_LICENSE("GPL");
---


From: Randy Dunlap <[email protected]>

Need to export com20020 symbols for com20020_cs also.

WARNING: "com20020_found" [drivers/net/pcmcia/com20020_cs.ko] undefined!
WARNING: "com20020_check" [drivers/net/pcmcia/com20020_cs.ko] undefined!

Signed-off-by: Randy Dunlap <[email protected]>
---
drivers/net/arcnet/com20020.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- linux-2620-work.orig/drivers/net/arcnet/com20020.c
+++ linux-2620-work/drivers/net/arcnet/com20020.c
@@ -338,7 +338,8 @@ static void com20020_set_mc_list(struct
}

#if defined(CONFIG_ARCNET_COM20020_PCI_MODULE) || \
- defined(CONFIG_ARCNET_COM20020_ISA_MODULE)
+ defined(CONFIG_ARCNET_COM20020_ISA_MODULE) || \
+ defined(CONFIG_ARCNET_COM20020_CS_MODULE)
EXPORT_SYMBOL(com20020_check);
EXPORT_SYMBOL(com20020_found);
#endif