[PATCH] add pci revision id to struct pci_dev

From: Conke Hu
Date: Mon Nov 06 2006 - 07:40:35 EST


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

Signed-off-by: Conke Hu <conke.hu@xxxxxxxxx>

-----
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/