]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/frv/mb93090-mb00/pci-vdk.c
i2c-pasemi: use i2c_add_numbered_adapter()
[linux-2.6-omap-h63xx.git] / arch / frv / mb93090-mb00 / pci-vdk.c
index fb98e90c57941a4ff9141489c5d2f396ff4814d0..6d51f133fb23285793adc4bebb0f2adbb3c105bd 100644 (file)
@@ -400,13 +400,16 @@ int __init pcibios_init(void)
        __reg_MB86943_pci_sl_mem_base   = __region_CS2 + 0x08000000;
        mb();
 
-       *(volatile unsigned long *)(__region_CS2+0x01300014) == 1;
+       /* enable PCI arbitration */
+       __reg_MB86943_pci_arbiter       = MB86943_PCIARB_EN;
 
        ioport_resource.start   = (__reg_MB86943_sl_pci_io_base << 9) & 0xfffffc00;
        ioport_resource.end     = (__reg_MB86943_sl_pci_io_range << 9) | 0x3ff;
        ioport_resource.end     += ioport_resource.start;
 
-       printk("PCI IO window:  %08lx-%08lx\n", ioport_resource.start, ioport_resource.end);
+       printk("PCI IO window:  %08llx-%08llx\n",
+              (unsigned long long) ioport_resource.start,
+              (unsigned long long) ioport_resource.end);
 
        iomem_resource.start    = (__reg_MB86943_sl_pci_mem_base << 9) & 0xfffffc00;
 
@@ -416,8 +419,11 @@ int __init pcibios_init(void)
        iomem_resource.end      = (__reg_MB86943_sl_pci_mem_range << 9) | 0x3ff;
        iomem_resource.end      += iomem_resource.start;
 
-       printk("PCI MEM window: %08lx-%08lx\n", iomem_resource.start, iomem_resource.end);
-       printk("PCI DMA memory: %08lx-%08lx\n", dma_coherent_mem_start, dma_coherent_mem_end);
+       printk("PCI MEM window: %08llx-%08llx\n",
+              (unsigned long long) iomem_resource.start,
+              (unsigned long long) iomem_resource.end);
+       printk("PCI DMA memory: %08lx-%08lx\n",
+              dma_coherent_mem_start, dma_coherent_mem_end);
 
        if (!pci_probe)
                return -ENXIO;
@@ -461,6 +467,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
 
        if ((err = pcibios_enable_resources(dev, mask)) < 0)
                return err;
-       pcibios_enable_irq(dev);
+       if (!dev->msi_enabled)
+               pcibios_enable_irq(dev);
        return 0;
 }