Hi, few days ago I reenabled building EISA support in my kernel, and because of SECTION_MISMATCH logic, I got warning. And i discovered this ... LD drivers/eisa/built-in.o WARNING: drivers/eisa/built-in.o(.data+0xd0): Section mismatch in reference from the variable pci_eisa_driver to the function .init.text:pci_eisa_init() The variable pci_eisa_driver references the function __init pci_eisa_init() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console ... LD drivers/built-in.o WARNING: drivers/built-in.o(.data+0x19d30): Section mismatch in reference from the variable pci_eisa_driver to the function .init.text:pci_eisa_init() The variable pci_eisa_driver references the function __init pci_eisa_init() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console It looks that pretty old commit commit 74b9a297866d0416edd0be5014cb0810de049c6a Author: Adrian Bunk <bunk@xxxxxxxxx> Date: Mon Mar 26 21:32:27 2007 -0800 [PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be init introduced this warning. There was some time ago a patch for solving this problem, http://www.spinics.net/lists/linux-pci/msg09638.html but It looks this patch adding __initdata or __refdata was somehow forgotten and didn't land in mainline. PS. There was some gossips about removing ISA support from Linux. Please do not do this. There is still lots of cards and computers with it. I for example have 3 workstations (two being Alpha and one being PC), each having important ISA hardware (ok. one is sound card - good one, but other have measurmnt hardware used in scientific experiments). Even my Laptop have some ISA hardware like thermal monitoring. However removing MCA and VLB could make some sense. Some. Regards, Witek -- Witold Baryluk
Attachment:
signature.asc
Description: Digital signature