1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-28 23:43:42 +02:00

Libpci < 2.2.4 can not store class info in struct pci_dev

Read class info manually and store it in a separate variable.

Corresponding to flashrom svn r1004.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
This commit is contained in:
Carl-Daniel Hailfinger 2010-05-21 23:00:56 +00:00
parent 52a15492bd
commit d175e06ac3

View File

@ -789,9 +789,11 @@ static int intel_ich_gpio_set(int gpio, int raise)
/* First, look for a known LPC bridge */ /* First, look for a known LPC bridge */
for (dev = pacc->devices; dev; dev = dev->next) { for (dev = pacc->devices; dev; dev = dev->next) {
pci_fill_info(dev, PCI_FILL_CLASS); uint16_t device_class;
/* libpci before version 2.2.4 does not store class info. */
device_class = pci_read_word(dev, PCI_CLASS_DEVICE);
if ((dev->vendor_id == 0x8086) && if ((dev->vendor_id == 0x8086) &&
(dev->device_class == 0x0601)) { /* ISA Bridge */ (device_class == 0x0601)) { /* ISA Bridge */
/* Is this device in our list? */ /* Is this device in our list? */
for (i = 0; intel_ich_gpio_table[i].id; i++) for (i = 0; intel_ich_gpio_table[i].id; i++)
if (dev->device_id == intel_ich_gpio_table[i].id) if (dev->device_id == intel_ich_gpio_table[i].id)