lkml.org 
[lkml]   [2003]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Re: 2.4.23-pre2: 3c515.c doesn't compile non-modular
Adrian Bunk wrote:
> On Sat, Aug 30, 2003 at 12:48:22PM -0300, Marcelo Tosatti wrote:
>
>>...
>>Summary of changes from v2.4.23-pre1 to v2.4.23-pre2
>>============================================
>>...
>>Jeff Garzik:
>>...
>> o [netdrvr] ethtool_ops support for 3c515, 3c523, 3c527, and dmfe
>>...
>
>
> This change broke non-modular compile of 3c515.c ("debug" is declared
> inside an #ifdef MODULE):

I'm pretty impressed that it broke, actually. "debug" is a weird
pseudo-variable that's really another global variable underneath,
corkscrew_debug... but MODULE_PARM() uses "debug". Sigh.

Further encouragement for me to convert net drivers over to Rusty's new
module parameter stuff, I suppose. His stuff is at least type-checked,
and would have caught this problem -- a big advantage over the 2.4.x
MODULE_PARM() stuff.

> ...
> gcc -D__KERNEL__
> -I/home/bunk/linux/kernel-2.4/linux-2.4.23-pre2-full/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
> -pipe -mpreferred-stack-boundary=2 -march=k6 -nostdinc -iwithprefix
> include -DKBUILD_BASENAME=3c515 -c -o 3c515.o 3c515.c
> 3c515.c: In function `netdev_get_msglevel':
> 3c515.c:1621: error: `debug' undeclared (first use in this function)
> 3c515.c:1621: error: (Each undeclared identifier is reported only once
> 3c515.c:1621: error: for each function it appears in.)
> 3c515.c: In function `netdev_set_msglevel':
> 3c515.c:1626: error: `debug' undeclared (first use in this function)


Fixed. Linus, please apply.

Jeff


===== drivers/net/3c515.c 1.22 vs edited =====
--- 1.22/drivers/net/3c515.c Tue Aug 26 16:42:22 2003
+++ edited/drivers/net/3c515.c Tue Sep 2 13:44:18 2003
@@ -1590,12 +1590,12 @@

static u32 netdev_get_msglevel(struct net_device *dev)
{
- return debug;
+ return corkscrew_debug;
}

static void netdev_set_msglevel(struct net_device *dev, u32 level)
{
- debug = level;
+ corkscrew_debug = level;
}

static struct ethtool_ops netdev_ethtool_ops = {
\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.255 / U:0.116 seconds]
©2003-2011 Jasper Spaans. Advertise on this site