* [PATCH] 2.4.17 compile error + fix
@ 2001-12-23 4:28 Phil Brutsche
2001-12-23 5:14 ` Keith Owens
2001-12-23 5:14 ` Andrew Morton
0 siblings, 2 replies; 4+ messages in thread
From: Phil Brutsche @ 2001-12-23 4:28 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1733 bytes --]
Compiling 2.4.17 on a Debian woody machine generates errors:
ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext
arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
init/version.o \
--start-group \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o
mm/mm.o fs/fs.o ipc/ipc.o \
drivers/char/char.o drivers/block/block.o drivers/misc/misc.o
drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o
drivers/net/appletalk/appletalk.o drivers/ide/idedriver.o
drivers/scsi/scsidrv.o drivers/cdrom/driver.o drivers/pci/driver.o
drivers/video/video.o drivers/usb/usbdrv.o drivers/input/inputdrv.o
drivers/md/mddev.o \
net/network.o \
/usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a
/usr/src/linux/arch/i386/lib/lib.a \
--end-group \
-o vmlinux
drivers/usb/usbdrv.o: In function `alloc_uhci':
drivers/usb/usbdrv.o(.text.init+0x363): undefined reference to
`uhci_pci_remove'
make: *** [vmlinux] Error 1
The same kernel tree builds fine under Debian potato & RH 7.x.
This patch seems to fix it (also attached in case my email client screws
up it up):
diff -urN linux/drivers/usb/usb-uhci.c
linux-2.4.17-modified/drivers/usb/usb-uhci.c
--- linux/drivers/usb/usb-uhci.c Fri Dec 21 11:41:55 2001
+++ linux-2.4.17-modified/drivers/usb/usb-uhci.c Sat Dec 22
22:10:27 2001
@@ -3001,7 +3001,7 @@
s->irq = irq;
if(uhci_start_usb (s) < 0) {
- uhci_pci_remove(dev);
+ __devexit_p (uhci_pci_remove(dev));
return -1;
}
The resulting kernel boots fine on a PII; there are no problems with
hot-plugging USB devices.
Marcelo, please consider for 2.4.18.
Phil
[-- Attachment #2: 2.4.17-patch --]
[-- Type: text/x-patch, Size: 383 bytes --]
diff -urN linux/drivers/usb/usb-uhci.c linux-2.4.17-modified/drivers/usb/usb-uhci.c
--- linux/drivers/usb/usb-uhci.c Fri Dec 21 11:41:55 2001
+++ linux-2.4.17-modified/drivers/usb/usb-uhci.c Sat Dec 22 22:10:27 2001
@@ -3001,7 +3001,7 @@
s->irq = irq;
if(uhci_start_usb (s) < 0) {
- uhci_pci_remove(dev);
+ __devexit_p (uhci_pci_remove(dev));
return -1;
}
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] 2.4.17 compile error + fix 2001-12-23 4:28 [PATCH] 2.4.17 compile error + fix Phil Brutsche @ 2001-12-23 5:14 ` Keith Owens 2001-12-23 5:14 ` Andrew Morton 1 sibling, 0 replies; 4+ messages in thread From: Keith Owens @ 2001-12-23 5:14 UTC (permalink / raw) To: Phil Brutsche; +Cc: Marcelo Tosatti, linux-kernel, usb On 22 Dec 2001 22:28:56 -0600, Phil Brutsche <pbrutsch@tux.creighton.edu> wrote: >diff -urN linux/drivers/usb/usb-uhci.c >linux-2.4.17-modified/drivers/usb/usb-uhci.c >--- linux/drivers/usb/usb-uhci.c Fri Dec 21 11:41:55 2001 >+++ linux-2.4.17-modified/drivers/usb/usb-uhci.c Sat Dec 22 >22:10:27 2001 >@@ -3001,7 +3001,7 @@ > s->irq = irq; > > if(uhci_start_usb (s) < 0) { >- uhci_pci_remove(dev); >+ __devexit_p (uhci_pci_remove(dev)); > return -1; > } > >The resulting kernel boots fine on a PII; there are no problems with >hot-plugging USB devices. > >Marcelo, please consider for 2.4.18. Do not apply, the code is wrong, uhci_pci_remove is called from mainline code. If the mainline code is correct then uhci_pci_remove must not be defined as __devexit/__devexit_p. If uhci_pci_remove is not supposed to be called then the mainline code has to be changed. In either case, it is a job for the uhci maintainer. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] 2.4.17 compile error + fix 2001-12-23 4:28 [PATCH] 2.4.17 compile error + fix Phil Brutsche 2001-12-23 5:14 ` Keith Owens @ 2001-12-23 5:14 ` Andrew Morton 2001-12-23 19:29 ` Greg KH 1 sibling, 1 reply; 4+ messages in thread From: Andrew Morton @ 2001-12-23 5:14 UTC (permalink / raw) To: Phil Brutsche; +Cc: Marcelo Tosatti, linux-kernel Phil Brutsche wrote: > > --- linux/drivers/usb/usb-uhci.c Fri Dec 21 11:41:55 2001 > +++ linux-2.4.17-modified/drivers/usb/usb-uhci.c Sat Dec 22 > 22:10:27 2001 > @@ -3001,7 +3001,7 @@ > s->irq = irq; > > if(uhci_start_usb (s) < 0) { > - uhci_pci_remove(dev); > + __devexit_p (uhci_pci_remove(dev)); > return -1; > } > If uhci_start_usb() fails, the driver still wants to call uhci_pci_remove() to clean stuff up. Same with bttv. --- linux-2.4.17/drivers/media/video/bttv-driver.c Fri Dec 21 11:19:13 2001 +++ linux-akpm/drivers/media/video/bttv-driver.c Sat Dec 22 21:09:22 2001 @@ -2820,7 +2820,7 @@ static void bttv_irq(int irq, void *dev_ * Scan for a Bt848 card, request the irq and map the io memory */ -static void __devexit bttv_remove(struct pci_dev *pci_dev) +static void bttv_remove(struct pci_dev *pci_dev) { u8 command; int j; @@ -3025,7 +3025,7 @@ static struct pci_driver bttv_pci_driver name: "bttv", id_table: bttv_pci_tbl, probe: bttv_probe, - remove: __devexit_p(bttv_remove), + remove: bttv_remove, }; int bttv_init_module(void) --- linux-2.4.17/drivers/usb/uhci.c Fri Dec 21 11:19:14 2001 +++ linux-akpm/drivers/usb/uhci.c Sat Dec 22 21:09:01 2001 @@ -2929,7 +2929,7 @@ static int __devinit uhci_pci_probe(stru return -ENODEV; } -static void __devexit uhci_pci_remove(struct pci_dev *dev) +static void uhci_pci_remove(struct pci_dev *dev) { struct uhci *uhci = pci_get_drvdata(dev); @@ -2990,7 +2990,7 @@ static struct pci_driver uhci_pci_driver id_table: uhci_pci_ids, probe: uhci_pci_probe, - remove: __devexit_p(uhci_pci_remove), + remove: uhci_pci_remove, #ifdef CONFIG_PM suspend: uhci_pci_suspend, ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] 2.4.17 compile error + fix 2001-12-23 5:14 ` Andrew Morton @ 2001-12-23 19:29 ` Greg KH 0 siblings, 0 replies; 4+ messages in thread From: Greg KH @ 2001-12-23 19:29 UTC (permalink / raw) To: Andrew Morton; +Cc: Phil Brutsche, Marcelo Tosatti, linux-kernel On Sat, Dec 22, 2001 at 09:14:57PM -0800, Andrew Morton wrote: > > If uhci_start_usb() fails, the driver still wants to call > uhci_pci_remove() to clean stuff up. Same with bttv. Yes, this is the correct patch for uhci.c. thanks, greg k-h ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-12-23 19:34 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2001-12-23 4:28 [PATCH] 2.4.17 compile error + fix Phil Brutsche 2001-12-23 5:14 ` Keith Owens 2001-12-23 5:14 ` Andrew Morton 2001-12-23 19:29 ` Greg KH
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox