Messages in this thread Patch in this message | | | Date | Tue, 02 Sep 2003 13:47:33 -0400 | From | Jeff Garzik <> | 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 = { | |