summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/bios32.c
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2013-02-11 08:46:10 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2013-02-16 18:54:25 +0100
commit352af7d4dd90bac3640ad2383e4e9f332d3a4537 (patch)
treef324bc26229909f82df0a7f324f998d5da65a9bf /arch/arm/kernel/bios32.c
parentARM: 7647/1: pci: Keep pci_common_init() around after init (diff)
downloadlinux-352af7d4dd90bac3640ad2383e4e9f332d3a4537.tar.xz
linux-352af7d4dd90bac3640ad2383e4e9f332d3a4537.zip
ARM: 7648/1: pci: Allow passing per-controller private data
In order to allow drivers to specify private data for each controller, this commit adds a private_data field to the struct hw_pci. This field is an array of nr_controllers pointers that will be used to initialize the private_data field of the corresponding controller's pci_sys_data structure. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/bios32.c')
-rw-r--r--arch/arm/kernel/bios32.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index da7b0c99f296..a1f73b502ef0 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -464,6 +464,9 @@ static void pcibios_init_hw(struct hw_pci *hw, struct list_head *head)
sys->map_irq = hw->map_irq;
INIT_LIST_HEAD(&sys->resources);
+ if (hw->private_data)
+ sys->private_data = hw->private_data[nr];
+
ret = hw->setup(nr, sys);
if (ret > 0) {