]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/kernel/bios32.c
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
[karo-tx-linux.git] / arch / arm / kernel / bios32.c
index 391ffdfce57118eec21bc58928e62545b5f694bc..a4effd6d8f2f52aa3f3c82c1b7b98d650d2263ab 100644 (file)
 
 static int debug_pci;
 
+#ifdef CONFIG_PCI_MSI
+struct msi_controller *pcibios_msi_controller(struct pci_dev *dev)
+{
+       struct pci_sys_data *sysdata = dev->bus->sysdata;
+
+       return sysdata->msi_ctrl;
+}
+#endif
+
 /*
  * We can't use pci_get_device() here since we are
  * called from interrupt context.
@@ -360,20 +369,6 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 }
 EXPORT_SYMBOL(pcibios_fixup_bus);
 
-void pcibios_add_bus(struct pci_bus *bus)
-{
-       struct pci_sys_data *sys = bus->sysdata;
-       if (sys->add_bus)
-               sys->add_bus(bus);
-}
-
-void pcibios_remove_bus(struct pci_bus *bus)
-{
-       struct pci_sys_data *sys = bus->sysdata;
-       if (sys->remove_bus)
-               sys->remove_bus(bus);
-}
-
 /*
  * Swizzle the device pin each time we cross a bridge.  If a platform does
  * not provide a swizzle function, we perform the standard PCI swizzling.
@@ -470,13 +465,14 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw,
 
 #ifdef CONFIG_PCI_DOMAINS
                sys->domain  = hw->domain;
+#endif
+#ifdef CONFIG_PCI_MSI
+               sys->msi_ctrl = hw->msi_ctrl;
 #endif
                sys->busnr   = busnr;
                sys->swizzle = hw->swizzle;
                sys->map_irq = hw->map_irq;
                sys->align_resource = hw->align_resource;
-               sys->add_bus = hw->add_bus;
-               sys->remove_bus = hw->remove_bus;
                INIT_LIST_HEAD(&sys->resources);
 
                if (hw->private_data)