aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-3.10/0076-ARM-pci-add-add_bus-and-remove_bus-hooks-to-hw_pci.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mvebu/patches-3.10/0076-ARM-pci-add-add_bus-and-remove_bus-hooks-to-hw_pci.patch')
-rw-r--r--target/linux/mvebu/patches-3.10/0076-ARM-pci-add-add_bus-and-remove_bus-hooks-to-hw_pci.patch80
1 files changed, 0 insertions, 80 deletions
diff --git a/target/linux/mvebu/patches-3.10/0076-ARM-pci-add-add_bus-and-remove_bus-hooks-to-hw_pci.patch b/target/linux/mvebu/patches-3.10/0076-ARM-pci-add-add_bus-and-remove_bus-hooks-to-hw_pci.patch
deleted file mode 100644
index adae3145b9..0000000000
--- a/target/linux/mvebu/patches-3.10/0076-ARM-pci-add-add_bus-and-remove_bus-hooks-to-hw_pci.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From ea6a42a34462ea382209ff4f083b8b17260eb409 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Wed, 19 Jun 2013 18:27:20 +0200
-Subject: [PATCH 076/203] ARM: pci: add ->add_bus() and ->remove_bus() hooks to
- hw_pci
-
-Some PCI drivers may need to adjust the pci_bus structure after it has
-been allocated by the Linux PCI core. The PCI core allows
-architectures to implement the pcibios_add_bus() and
-pcibios_remove_bus() for this purpose. This commit therefore extends
-the hw_pci and pci_sys_data structures of the ARM PCI core to allow
-PCI drivers to register ->add_bus() and ->remove_bus() in hw_pci,
-which will get called when a bus is added or removed from the system.
-
-This will be used for example by the Marvell PCIe driver to connect a
-particular PCI bus with its corresponding MSI chip to handle Message
-Signaled Interrupts.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Reviewed-by: Thierry Reding <thierry.reding@gmail.com>
-Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
-Tested-by: Daniel Price <daniel.price@gmail.com>
-Tested-by: Thierry Reding <thierry.reding@gmail.com>
----
- arch/arm/include/asm/mach/pci.h | 4 ++++
- arch/arm/kernel/bios32.c | 16 ++++++++++++++++
- 2 files changed, 20 insertions(+)
-
---- a/arch/arm/include/asm/mach/pci.h
-+++ b/arch/arm/include/asm/mach/pci.h
-@@ -35,6 +35,8 @@ struct hw_pci {
- resource_size_t start,
- resource_size_t size,
- resource_size_t align);
-+ void (*add_bus)(struct pci_bus *bus);
-+ void (*remove_bus)(struct pci_bus *bus);
- };
-
- /*
-@@ -62,6 +64,8 @@ struct pci_sys_data {
- resource_size_t start,
- resource_size_t size,
- resource_size_t align);
-+ void (*add_bus)(struct pci_bus *bus);
-+ void (*remove_bus)(struct pci_bus *bus);
- void *private_data; /* platform controller private data */
- };
-
---- a/arch/arm/kernel/bios32.c
-+++ b/arch/arm/kernel/bios32.c
-@@ -363,6 +363,20 @@ void pcibios_fixup_bus(struct pci_bus *b
- }
- 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.
-@@ -463,6 +477,8 @@ static void pcibios_init_hw(struct hw_pc
- 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)