[PATCH] add pci revision id to struct pci_dev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,
   PCI revision id had better be added to struct pci_dev and
initialized in pci_scan_device.

   Signed-off-by: Conke Hu <[email protected]>

-----
diff -Nur linux-2.6.19-rc4-git10.orig/drivers/pci/probe.c
linux-2.6.19-rc4-git10/drivers/pci/probe.c
--- linux-2.6.19-rc4-git10.orig/drivers/pci/probe.c     2006-11-06
19:38:43.000000000 +0800
+++ linux-2.6.19-rc4-git10/drivers/pci/probe.c  2006-11-06
19:41:17.000000000 +0800
@@ -785,6 +785,7 @@
      u32 l;
      u8 hdr_type;
      int delay = 1;
+       u8 rev;

      if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, &l))
              return NULL;
@@ -813,6 +814,9 @@
      if (pci_bus_read_config_byte(bus, devfn, PCI_HEADER_TYPE, &hdr_type))
              return NULL;

+       if (pci_bus_read_config_byte(bus, devfn, PCI_REVISION_ID, &rev))
+               return NULL;
+
      dev = kzalloc(sizeof(struct pci_dev), GFP_KERNEL);
      if (!dev)
              return NULL;
@@ -828,6 +832,7 @@
      dev->device = (l >> 16) & 0xffff;
      dev->cfg_size = pci_cfg_space_size(dev);
      dev->error_state = pci_channel_io_normal;
+       dev->revision = rev;

      /* Assume 32-bit PCI; let 64-bit PCI cards (which are far rarer)
         set this higher, assuming the system even supports it.  */
diff -Nur linux-2.6.19-rc4-git10.orig/include/linux/pci.h
linux-2.6.19-rc4-git10/include/linux/pci.h
--- linux-2.6.19-rc4-git10.orig/include/linux/pci.h     2006-11-06
19:39:07.000000000 +0800
+++ linux-2.6.19-rc4-git10/include/linux/pci.h  2006-11-06
19:41:57.000000000 +0800
@@ -123,6 +123,7 @@
      unsigned short  device;
      unsigned short  subsystem_vendor;
      unsigned short  subsystem_device;
+       u8              revision;       /* PCI revision ID */
      unsigned int    class;          /* 3 bytes: (base,sub,prog-if) */
      u8              hdr_type;       /* PCI header type (`multi'
flag masked out) */
      u8              rom_base_reg;   /* which config register
controls the ROM */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux