[PATCH 3/3] Add NumaChip quirk

From: Daniel J Blueman
Date: Fri Jul 22 2011 - 07:19:50 EST


Add quirk for Numascale's NumaChip to prevent resource conflicts.

Signed-off-by: Steffen Persvold <sp@xxxxxxxxxxxxx>
Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxxxxxxx>
---
drivers/pci/quirks.c | 14 ++++++++++++++
include/linux/pci_ids.h | 4 ++++
2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 02145e9..4db74e0 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2679,6 +2679,20 @@ static void __devinit quirk_hotplug_bridge(struct pci_dev *dev)

DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_HINT, 0x0020, quirk_hotplug_bridge);

+/* Clear all resources on NumaChip to avoid conflicts */
+static void __devinit numachip_resource_fixup(struct pci_dev *pdev)
+{
+ int i;
+
+ for (i = PCI_STD_RESOURCES; i <= PCI_ROM_RESOURCE; i++)
+ memset(&pdev->resource[i], 0, sizeof(pdev->resource[i]));
+
+ dev_notice(&pdev->dev, "Disabled all PCI resources for NumaChip\n");
+}
+
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NUMASCALE,
+ PCI_DEVICE_ID_NUMASCALE_NUMACHIP0, numachip_resource_fixup);
+
/*
* This is a quirk for the Ricoh MMC controller found as a part of
* some mulifunction chips.
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index f8910e1..50d7319 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -2390,6 +2390,10 @@

#define PCI_VENDOR_ID_AZWAVE 0x1a3b

+#define PCI_VENDOR_ID_NUMASCALE 0x1b47
+#define PCI_DEVICE_ID_NUMASCALE_NUMACHIP0 0x0601
+#define PCI_DEVICE_ID_NUMASCALE_NUMACHIP1 0x0602
+
#define PCI_VENDOR_ID_TEKRAM 0x1de1
#define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29

--
1.7.4.1


--
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/