lkml.org 
[lkml]   [2002]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [BK PATCH] PCI changes for 2.5.30
    # 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)
    {
    }

    -
    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/
    \
     
     \ /
      Last update: 2005-03-22 13:27    [W:0.029 / U:59.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site