# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.514 -> 1.515 # drivers/pci/names.c 1.3 -> 1.4 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/08/02 t-kouchi@mvf.biglobe.ne.jp 1.515 # [PATCH] [PATCH] PCI Hotplug patch to drivers/pci/names.c # # I found that both compaq and ibm PCI hotplug driver call pci_scan_slot(), # which eventually call pci_name_device() in drivers/pci/names.c. # # pci_name_device() is declared as __devinit while other data are # declared as __initdata. # This may result in undefined behavior for example, /proc/pci. # -------------------------------------------- # diff -Nru a/drivers/pci/names.c b/drivers/pci/names.c --- a/drivers/pci/names.c Fri Aug 2 16:49:27 2002 +++ b/drivers/pci/names.c Fri Aug 2 16:49:27 2002 @@ -32,18 +32,18 @@ * real memory.. Parse the same file multiple times * to get all the info. */ -#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __initdata = name; +#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __devinitdata = name; #define ENDVENDOR() -#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __initdata = name; +#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __devinitdata = name; #include "devlist.h" -#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __initdata = { +#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __devinitdata = { #define ENDVENDOR() }; #define DEVICE( vendor, device, name ) { 0x##device, 0, __devicestr_##vendor##device }, #include "devlist.h" -static struct pci_vendor_info __initdata pci_vendor_list[] = { +static struct pci_vendor_info __devinitdata pci_vendor_list[] = { #define VENDOR( vendor, name ) { 0x##vendor, sizeof(__devices_##vendor) / sizeof(struct pci_device_info), __vendorstr_##vendor, __devices_##vendor }, #define ENDVENDOR() #define DEVICE( vendor, device, name ) @@ -121,7 +121,7 @@ #else -void __init pci_name_device(struct pci_dev *dev) +void __devinit pci_name_device(struct pci_dev *dev) { }