Merge branches 'sh/serial-rework' and 'sh/oprofile'
[pandora-kernel.git] / arch / arm / kernel / bios32.c
index a2dd930..17a59b6 100644 (file)
@@ -10,8 +10,8 @@
 #include <linux/pci.h>
 #include <linux/slab.h>
 #include <linux/init.h>
+#include <linux/io.h>
 
-#include <asm/io.h>
 #include <asm/mach-types.h>
 #include <asm/mach/pci.h>
 
@@ -279,6 +279,25 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693);
 
+static void __init pci_fixup_it8152(struct pci_dev *dev)
+{
+       int i;
+       /* fixup for ITE 8152 devices */
+       /* FIXME: add defines for class 0x68000 and 0x80103 */
+       if ((dev->class >> 8) == PCI_CLASS_BRIDGE_HOST ||
+           dev->class == 0x68000 ||
+           dev->class == 0x80103) {
+               for (i = 0; i < PCI_NUM_RESOURCES; i++) {
+                       dev->resource[i].start = 0;
+                       dev->resource[i].end   = 0;
+                       dev->resource[i].flags = 0;
+               }
+       }
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_8152, pci_fixup_it8152);
+
+
+
 void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
 {
        if (debug_pci)
@@ -292,9 +311,12 @@ void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
  */
 static inline int pdev_bad_for_parity(struct pci_dev *dev)
 {
-       return (dev->vendor == PCI_VENDOR_ID_INTERG &&
-               (dev->device == PCI_DEVICE_ID_INTERG_2000 ||
-                dev->device == PCI_DEVICE_ID_INTERG_2010));
+       return ((dev->vendor == PCI_VENDOR_ID_INTERG &&
+                (dev->device == PCI_DEVICE_ID_INTERG_2000 ||
+                 dev->device == PCI_DEVICE_ID_INTERG_2010)) ||
+               (dev->vendor == PCI_VENDOR_ID_ITE &&
+                dev->device == PCI_DEVICE_ID_ITE_8152));
+
 }
 
 /*