public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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