From: Sam Ravnborg Silence the following warnings: WARNING: drivers/pcmcia/built-in.o(.data+0x348): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devinit.text:pccard_sysfs_add_socket() WARNING: drivers/pcmcia/built-in.o(.data+0x350): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devexit.text:pccard_sysfs_remove_socket() WARNING: drivers/pcmcia/built-in.o(.data+0x6e8): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket() WARNING: drivers/pcmcia/built-in.o(.data+0xa88): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devinit.text:pccard_sysfs_add_rsrc() WARNING: drivers/pcmcia/built-in.o(.data+0xa90): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devexit.text:pccard_sysfs_remove_rsrc() The variables of type class_interface contains references to __devinit and __devexit functions which is OK. Silence warnings by annotating the variables with __refdata. Signed-off-by: Sam Ravnborg Cc: Dominik Brodowski Signed-off-by: Andrew Morton --- drivers/pcmcia/ds.c | 2 +- drivers/pcmcia/rsrc_nonstatic.c | 2 +- drivers/pcmcia/socket_sysfs.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff -puN drivers/pcmcia/ds.c~pcmcia-silence-section-mismatch-warnings-from-class_interface-variables drivers/pcmcia/ds.c --- a/drivers/pcmcia/ds.c~pcmcia-silence-section-mismatch-warnings-from-class_interface-variables +++ a/drivers/pcmcia/ds.c @@ -1520,7 +1520,7 @@ static void pcmcia_bus_remove_socket(str /* the pcmcia_bus_interface is used to handle pcmcia socket devices */ -static struct class_interface pcmcia_bus_interface = { +static struct class_interface pcmcia_bus_interface __refdata = { .class = &pcmcia_socket_class, .add_dev = &pcmcia_bus_add_socket, .remove_dev = &pcmcia_bus_remove_socket, diff -puN drivers/pcmcia/rsrc_nonstatic.c~pcmcia-silence-section-mismatch-warnings-from-class_interface-variables drivers/pcmcia/rsrc_nonstatic.c --- a/drivers/pcmcia/rsrc_nonstatic.c~pcmcia-silence-section-mismatch-warnings-from-class_interface-variables +++ a/drivers/pcmcia/rsrc_nonstatic.c @@ -1045,7 +1045,7 @@ static void __devexit pccard_sysfs_remov device_remove_file(dev, *attr); } -static struct class_interface pccard_rsrc_interface = { +static struct class_interface pccard_rsrc_interface __refdata = { .class = &pcmcia_socket_class, .add_dev = &pccard_sysfs_add_rsrc, .remove_dev = __devexit_p(&pccard_sysfs_remove_rsrc), diff -puN drivers/pcmcia/socket_sysfs.c~pcmcia-silence-section-mismatch-warnings-from-class_interface-variables drivers/pcmcia/socket_sysfs.c --- a/drivers/pcmcia/socket_sysfs.c~pcmcia-silence-section-mismatch-warnings-from-class_interface-variables +++ a/drivers/pcmcia/socket_sysfs.c @@ -403,7 +403,7 @@ static void __devexit pccard_sysfs_remov device_remove_file(dev, *attr); } -struct class_interface pccard_sysfs_interface = { +struct class_interface pccard_sysfs_interface __refdata = { .class = &pcmcia_socket_class, .add_dev = &pccard_sysfs_add_socket, .remove_dev = __devexit_p(&pccard_sysfs_remove_socket), _