diff options
author | Seth Heasley <seth.heasley@intel.com> | 2008-08-28 18:40:59 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-10-20 13:53:48 -0400 |
commit | 37a84ec668ba251ae02cf2c2c664baf6b247ae1f (patch) | |
tree | 1cc937e4264fade2d790757b1f294d6e33479d2d | |
parent | f7a10e32a1a7ae240fa3925c5727d224eba3e31d (diff) |
x86/PCI: irq and pci_ids patch for Intel Ibex Peak DeviceIDs
This patch updates the Intel Ibex Peak (PCH) LPC and SMBus Controller
DeviceIDs.
The LPC Controller ID is set by Firmware within the range of
0x3b00-3b1f. This range is included in pci_ids.h using min and max
values, and irq.c now has code to handle the range (in lieu of 32
additions to a SWITCH statement).
The SMBus Controller ID is a fixed-value and will not change.
Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r-- | arch/x86/pci/irq.c | 11 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 6 |
2 files changed, 12 insertions, 5 deletions
diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c index 52a1de1128c1..bf69dbe08bff 100644 --- a/arch/x86/pci/irq.c +++ b/arch/x86/pci/irq.c | |||
@@ -590,13 +590,20 @@ static __init int intel_router_probe(struct irq_router *r, struct pci_dev *route | |||
590 | case PCI_DEVICE_ID_INTEL_ICH10_1: | 590 | case PCI_DEVICE_ID_INTEL_ICH10_1: |
591 | case PCI_DEVICE_ID_INTEL_ICH10_2: | 591 | case PCI_DEVICE_ID_INTEL_ICH10_2: |
592 | case PCI_DEVICE_ID_INTEL_ICH10_3: | 592 | case PCI_DEVICE_ID_INTEL_ICH10_3: |
593 | case PCI_DEVICE_ID_INTEL_PCH_0: | ||
594 | case PCI_DEVICE_ID_INTEL_PCH_1: | ||
595 | r->name = "PIIX/ICH"; | 593 | r->name = "PIIX/ICH"; |
596 | r->get = pirq_piix_get; | 594 | r->get = pirq_piix_get; |
597 | r->set = pirq_piix_set; | 595 | r->set = pirq_piix_set; |
598 | return 1; | 596 | return 1; |
599 | } | 597 | } |
598 | |||
599 | if ((device >= PCI_DEVICE_ID_INTEL_PCH_LPC_MIN) && | ||
600 | (device <= PCI_DEVICE_ID_INTEL_PCH_LPC_MAX)) { | ||
601 | r->name = "PIIX/ICH"; | ||
602 | r->get = pirq_piix_get; | ||
603 | r->set = pirq_piix_set; | ||
604 | return 1; | ||
605 | } | ||
606 | |||
600 | return 0; | 607 | return 0; |
601 | } | 608 | } |
602 | 609 | ||
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 8edddc240e4f..e5d344bfcb7e 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -2454,9 +2454,9 @@ | |||
2454 | #define PCI_DEVICE_ID_INTEL_ICH10_3 0x3a1a | 2454 | #define PCI_DEVICE_ID_INTEL_ICH10_3 0x3a1a |
2455 | #define PCI_DEVICE_ID_INTEL_ICH10_4 0x3a30 | 2455 | #define PCI_DEVICE_ID_INTEL_ICH10_4 0x3a30 |
2456 | #define PCI_DEVICE_ID_INTEL_ICH10_5 0x3a60 | 2456 | #define PCI_DEVICE_ID_INTEL_ICH10_5 0x3a60 |
2457 | #define PCI_DEVICE_ID_INTEL_PCH_0 0x3b10 | 2457 | #define PCI_DEVICE_ID_INTEL_PCH_LPC_MIN 0x3b00 |
2458 | #define PCI_DEVICE_ID_INTEL_PCH_1 0x3b11 | 2458 | #define PCI_DEVICE_ID_INTEL_PCH_LPC_MAX 0x3b1f |
2459 | #define PCI_DEVICE_ID_INTEL_PCH_2 0x3b30 | 2459 | #define PCI_DEVICE_ID_INTEL_PCH_SMBUS 0x3b30 |
2460 | #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f | 2460 | #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f |
2461 | #define PCI_DEVICE_ID_INTEL_5100_16 0x65f0 | 2461 | #define PCI_DEVICE_ID_INTEL_5100_16 0x65f0 |
2462 | #define PCI_DEVICE_ID_INTEL_5100_21 0x65f5 | 2462 | #define PCI_DEVICE_ID_INTEL_5100_21 0x65f5 |