From: "Randy.Dunlap" ide/pci/serverworks: data structs point to __init text which should be __devinit; unless (a) these are going away real soon, or (b) this just can't happen, isn't a real problem, or (c) other ? Error: ./drivers/ide/pci/serverworks.o .data refers to 00000000000001e8 R_X86_64_64 .init.text+0x000000000000020e Error: ./drivers/ide/pci/serverworks.o .data refers to 00000000000001f8 R_X86_64_64 .init.text+0x000000000000024c Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000208 R_X86_64_64 .init.text Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000248 R_X86_64_64 .init.text+0x000000000000020e Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000258 R_X86_64_64 .init.text+0x000000000000024c Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000268 R_X86_64_64 .init.text Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000270 R_X86_64_64 .init.text+0x0000000000000213 Error: ./drivers/ide/pci/serverworks.o .data refers to 00000000000002a8 R_X86_64_64 .init.text+0x00000000000001c3 Error: ./drivers/ide/pci/serverworks.o .data refers to 00000000000002b8 R_X86_64_64 .init.text+0x000000000000024c Error: ./drivers/ide/pci/serverworks.o .data refers to 00000000000002c8 R_X86_64_64 .init.text Error: ./drivers/ide/pci/serverworks.o .data refers to 00000000000002d0 R_X86_64_64 .init.text+0x0000000000000213 Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000308 R_X86_64_64 .init.text+0x00000000000001c3 Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000318 R_X86_64_64 .init.text+0x000000000000024c Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000328 R_X86_64_64 .init.text Error: ./drivers/ide/pci/serverworks.o .data refers to 0000000000000330 R_X86_64_64 .init.text+0x0000000000000213 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton --- 25-akpm/drivers/ide/pci/serverworks.c | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff -puN drivers/ide/pci/serverworks.c~ide-serverworks-fix-section-references drivers/ide/pci/serverworks.c --- 25/drivers/ide/pci/serverworks.c~ide-serverworks-fix-section-references Fri Mar 4 16:46:41 2005 +++ 25-akpm/drivers/ide/pci/serverworks.c Fri Mar 4 16:46:41 2005 @@ -341,7 +341,7 @@ static int svwks_ide_dma_end (ide_drive_ return __ide_dma_end(drive); } -static unsigned int __init init_chipset_svwks (struct pci_dev *dev, const char *name) +static unsigned int __devinit init_chipset_svwks (struct pci_dev *dev, const char *name) { unsigned int reg; u8 btr; @@ -442,7 +442,7 @@ static unsigned int __init init_chipset_ return (dev->irq) ? dev->irq : 0; } -static unsigned int __init ata66_svwks_svwks (ide_hwif_t *hwif) +static unsigned int __devinit ata66_svwks_svwks (ide_hwif_t *hwif) { return 1; } @@ -454,7 +454,7 @@ static unsigned int __init ata66_svwks_s * Bit 14 clear = primary IDE channel does not have 80-pin cable. * Bit 14 set = primary IDE channel has 80-pin cable. */ -static unsigned int __init ata66_svwks_dell (ide_hwif_t *hwif) +static unsigned int __devinit ata66_svwks_dell (ide_hwif_t *hwif) { struct pci_dev *dev = hwif->pci_dev; if (dev->subsystem_vendor == PCI_VENDOR_ID_DELL && @@ -472,7 +472,7 @@ static unsigned int __init ata66_svwks_d * * WARNING: this only works on Alpine hardware! */ -static unsigned int __init ata66_svwks_cobalt (ide_hwif_t *hwif) +static unsigned int __devinit ata66_svwks_cobalt (ide_hwif_t *hwif) { struct pci_dev *dev = hwif->pci_dev; if (dev->subsystem_vendor == PCI_VENDOR_ID_SUN && @@ -483,7 +483,7 @@ static unsigned int __init ata66_svwks_c return 0; } -static unsigned int __init ata66_svwks (ide_hwif_t *hwif) +static unsigned int __devinit ata66_svwks (ide_hwif_t *hwif) { struct pci_dev *dev = hwif->pci_dev; @@ -508,7 +508,7 @@ static unsigned int __init ata66_svwks ( } #undef CAN_SW_DMA -static void __init init_hwif_svwks (ide_hwif_t *hwif) +static void __devinit init_hwif_svwks (ide_hwif_t *hwif) { u8 dma_stat = 0; @@ -556,7 +556,7 @@ static void __init init_hwif_svwks (ide_ /* * We allow the BM-DMA driver to only work on enabled interfaces. */ -static void __init init_dma_svwks (ide_hwif_t *hwif, unsigned long dmabase) +static void __devinit init_dma_svwks (ide_hwif_t *hwif, unsigned long dmabase) { struct pci_dev *dev = hwif->pci_dev; @@ -568,12 +568,12 @@ static void __init init_dma_svwks (ide_h ide_setup_dma(hwif, dmabase, 8); } -static int __init init_setup_svwks (struct pci_dev *dev, ide_pci_device_t *d) +static int __devinit init_setup_svwks (struct pci_dev *dev, ide_pci_device_t *d) { return ide_setup_pci_device(dev, d); } -static int __init init_setup_csb6 (struct pci_dev *dev, ide_pci_device_t *d) +static int __devinit init_setup_csb6 (struct pci_dev *dev, ide_pci_device_t *d) { if (!(PCI_FUNC(dev->devfn) & 1)) { d->bootable = NEVER_BOARD; _