Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / powerpc / platforms / fsl_uli1575.c
index 65a35f3..8b0c208 100644 (file)
@@ -51,13 +51,20 @@ u8 uli_pirq_to_irq[8] = {
        ULI_8259_NONE,          /* PIRQH */
 };
 
+static inline bool is_quirk_valid(void)
+{
+       return (machine_is(mpc86xx_hpcn) ||
+               machine_is(mpc8544_ds) ||
+               machine_is(p2020_ds) ||
+               machine_is(mpc8572_ds));
+}
+
 /* Bridge */
 static void __devinit early_uli5249(struct pci_dev *dev)
 {
        unsigned char temp;
 
-       if (!machine_is(mpc86xx_hpcn) && !machine_is(mpc8544_ds) &&
-                       !machine_is(mpc8572_ds))
+       if (!is_quirk_valid())
                return;
 
        pci_write_config_word(dev, PCI_COMMAND, PCI_COMMAND_IO |
@@ -80,8 +87,7 @@ static void __devinit quirk_uli1575(struct pci_dev *dev)
 {
        int i;
 
-       if (!machine_is(mpc86xx_hpcn) && !machine_is(mpc8544_ds) &&
-                       !machine_is(mpc8572_ds))
+       if (!is_quirk_valid())
                return;
 
        /*
@@ -149,8 +155,7 @@ static void __devinit quirk_final_uli1575(struct pci_dev *dev)
         * IRQ 14: Edge
         * IRQ 15: Edge
         */
-       if (!machine_is(mpc86xx_hpcn) && !machine_is(mpc8544_ds) &&
-                       !machine_is(mpc8572_ds))
+       if (!is_quirk_valid())
                return;
 
        outb(0xfa, 0x4d0);
@@ -176,8 +181,7 @@ static void __devinit quirk_uli5288(struct pci_dev *dev)
        unsigned char c;
        unsigned int d;
 
-       if (!machine_is(mpc86xx_hpcn) && !machine_is(mpc8544_ds) &&
-                       !machine_is(mpc8572_ds))
+       if (!is_quirk_valid())
                return;
 
        /* read/write lock */
@@ -201,8 +205,7 @@ static void __devinit quirk_uli5229(struct pci_dev *dev)
 {
        unsigned short temp;
 
-       if (!machine_is(mpc86xx_hpcn) && !machine_is(mpc8544_ds) &&
-                       !machine_is(mpc8572_ds))
+       if (!is_quirk_valid())
                return;
 
        pci_write_config_word(dev, PCI_COMMAND, PCI_COMMAND_INTX_DISABLE |
@@ -219,6 +222,7 @@ static void __devinit quirk_final_uli5249(struct pci_dev *dev)
        int i;
        u8 *dummy;
        struct pci_bus *bus = dev->bus;
+       struct resource *res;
        resource_size_t end = 0;
 
        for (i = PCI_BRIDGE_RESOURCES; i < PCI_BRIDGE_RESOURCES+3; i++) {
@@ -227,13 +231,12 @@ static void __devinit quirk_final_uli5249(struct pci_dev *dev)
                        end = pci_resource_end(dev, i);
        }
 
-       for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) {
-               if ((bus->resource[i]) &&
-                       (bus->resource[i]->flags & IORESOURCE_MEM)) {
-                       if (bus->resource[i]->end == end)
-                               dummy = ioremap(bus->resource[i]->start, 0x4);
+       pci_bus_for_each_resource(bus, res, i) {
+               if (res && res->flags & IORESOURCE_MEM) {
+                       if (res->end == end)
+                               dummy = ioremap(res->start, 0x4);
                        else
-                               dummy = ioremap(bus->resource[i]->end - 3, 0x4);
+                               dummy = ioremap(res->end - 3, 0x4);
                        if (dummy) {
                                in_8(dummy);
                                iounmap(dummy);
@@ -270,7 +273,6 @@ static void __devinit hpcd_quirk_uli1575(struct pci_dev *dev)
 static void __devinit hpcd_quirk_uli5288(struct pci_dev *dev)
 {
        unsigned char c;
-       unsigned short temp;
 
        if (!machine_is(mpc86xx_hpcd))
                return;