[PATCH] fix 2.4.19-pre6 + 1394 compile failure

Erik Andersen (andersen@codepoet.org)
Sun, 7 Apr 2002 03:43:51 -0600


With 2.4.19-pre6:
CONFIG_IEEE1394=y
CONFIG_IEEE1394_PCILYNX=y
CONFIG_IEEE1394_OHCI1394=y
CONFIG_IEEE1394_SBP2=m

results in

drivers/ieee1394/ieee1394drv.o: In function `ohci1394_pci_probe':
drivers/ieee1394/ieee1394drv.o(.text.init+0xa37): undefined reference to `local symbols in discarded section .text.exit'
drivers/ieee1394/ieee1394drv.o(.text.init+0xcda): undefined reference to `local symbols in discarded section .text.exit'
make: *** [vmlinux] Error 1

ohci1394_pci_probe() calls ohci1394_pci_remove() via the FAIL
macro, but ohci1394_pci_remove() is marked __devexit and thus
gets tossed at link time. Seems it needs to stick around.

--- linux/drivers/ieee1394/ohci1394.c~ Sun Apr 7 03:41:39 2002
+++ linux/drivers/ieee1394/ohci1394.c Sun Apr 7 03:41:50 2002
@@ -171,7 +171,7 @@
static void dma_trm_tasklet(unsigned long data);
static void dma_trm_reset(struct dma_trm_ctx *d);

-static void __devexit ohci1394_pci_remove(struct pci_dev *pdev);
+static void ohci1394_pci_remove(struct pci_dev *pdev);

static inline void ohci1394_run_irq_hooks(struct ti_ohci *ohci,
quadlet_t isoRecvEvent,
@@ -2209,7 +2209,7 @@
#undef FAIL
}

-static void __devexit ohci1394_pci_remove(struct pci_dev *pdev)
+static void ohci1394_pci_remove(struct pci_dev *pdev)
{
struct ti_ohci *ohci;
quadlet_t buf;
@@ -2314,7 +2314,7 @@
name: OHCI1394_DRIVER_NAME,
id_table: ohci1394_pci_tbl,
probe: ohci1394_pci_probe,
- remove: __devexit_p(ohci1394_pci_remove),
+ remove: ohci1394_pci_remove,
};

-Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/