2002-01-14 03:07:58

by Erik Andersen

[permalink] [raw]
Subject: drivers missing __devexit_p in 2.4.18pre3

A quick check of the source code shows that the following drivers
appear to still be lacking the devinit fixes which are needed for
the kernel to compile when using newer versions of binutils.

Each of these files probably needs the following (though I'm too
lazy to do it all myself, since my kernel doesn't use any of this
stuff):

s/remove:\(.*\)/remove:__devexit_p(\1)/g

drivers/net/wan/dscc4.c
drivers/net/tokenring/abyss.c
drivers/net/tokenring/tmspci.c
drivers/net/pcnet32.c
drivers/net/sis900.c
drivers/net/dmfe.c
drivers/net/rcpci45.c
drivers/net/hamachi.c
drivers/net/wireless/orinoco_plx.c
drivers/char/synclink.c
drivers/char/n_r3964.c
drivers/char/wdt_pci.c
drivers/scsi/tmscsim.c
drivers/scsi/aic7xxx/aic7xxx_linux_pci.c
drivers/sound/es1370.c
drivers/sound/maestro.c
drivers/sound/trident.c
drivers/sound/es1371.c
drivers/sound/cs4281/cs4281m.c
drivers/sound/i810_audio.c
drivers/sound/sonicvibes.c
drivers/sound/esssolo1.c
drivers/sound/maestro3.c
drivers/sound/cs46xx.c
drivers/sound/nm256_audio.c
drivers/sound/via82cxxx_audio.c
drivers/sound/rme96xx.c
drivers/sound/ite8172.c
drivers/sound/nec_vrc5477.c
drivers/video/matrox/matroxfb_base.c
drivers/video/matrox/matroxfb_crtc2.c
drivers/video/matrox/matroxfb_g450.c
drivers/ieee1394/pcilynx.c
drivers/mtd/ftl.c
drivers/mtd/mtdchar.c
drivers/mtd/nftlcore.c
drivers/message/fusion/mptscsih.c
drivers/hotplug/cpqphp_core.c

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--


2002-01-14 05:09:06

by Keith Owens

[permalink] [raw]
Subject: Re: drivers missing __devexit_p in 2.4.18pre3

On Sun, 13 Jan 2002 20:07:34 -0700,
Erik Andersen <[email protected]> wrote:
>A quick check of the source code shows that the following drivers
>appear to still be lacking the devinit fixes which are needed for
>the kernel to compile when using newer versions of binutils.
>
>Each of these files probably needs the following (though I'm too
>lazy to do it all myself, since my kernel doesn't use any of this
>stuff):
>
> s/remove:\(.*\)/remove:__devexit_p(\1)/g

Don't do that. You are blindly converting all remove entries to use
__devexit_p but __devexit_p should only be used when the function
itself is declared as __devexit.

I went through the entire kernel looking for uses of __devexit and
manually checked each reference to those functions, changing only the
functions that used __devexit. I might have missed one or two but I
guarantee that your list is wrong, picking three files at random, none
of them use __devexit.

2002-01-14 10:50:22

by Jeff Garzik

[permalink] [raw]
Subject: Re: drivers missing __devexit_p in 2.4.18pre3

Erik Andersen wrote:
>
> A quick check of the source code shows that the following drivers
> appear to still be lacking the devinit fixes which are needed for
> the kernel to compile when using newer versions of binutils.
>
> Each of these files probably needs the following (though I'm too
> lazy to do it all myself, since my kernel doesn't use any of this
> stuff):
>
> s/remove:\(.*\)/remove:__devexit_p(\1)/g
>
> drivers/net/wan/dscc4.c
> drivers/net/tokenring/abyss.c
> drivers/net/tokenring/tmspci.c
> drivers/net/pcnet32.c
> drivers/net/sis900.c
> drivers/net/dmfe.c
> drivers/net/rcpci45.c
> drivers/net/hamachi.c
> drivers/net/wireless/orinoco_plx.c

I dunno if all of these qualify as hotplug drivers, needing __devfoo at
all?

--
Jeff Garzik | Alternate titles for LOTR:
Building 1024 | Fast Times at Uruk-Hai
MandrakeSoft | The Took, the Elf, His Daughter and Her Lover
| Samwise Gamgee: International Hobbit of Mystery