From caefa08247c8830ac3ab4fa6e554de3f262978b5 Mon Sep 17 00:00:00 2001 From: Thierry Reding Date: Mon, 11 Feb 2013 08:46:10 +0100 Subject: [PATCH] --- yaml --- r: 351146 b: refs/heads/master c: 352af7d4dd90bac3640ad2383e4e9f332d3a4537 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/include/asm/mach/pci.h | 1 + trunk/arch/arm/kernel/bios32.c | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 373d1b11dfbc..c40848d02206 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 276fd3c5f8a21f9d7d398383b818d5d0ac81db23 +refs/heads/master: 352af7d4dd90bac3640ad2383e4e9f332d3a4537 diff --git a/trunk/arch/arm/include/asm/mach/pci.h b/trunk/arch/arm/include/asm/mach/pci.h index db9fedb57f2c..5cf2e979b4be 100644 --- a/trunk/arch/arm/include/asm/mach/pci.h +++ b/trunk/arch/arm/include/asm/mach/pci.h @@ -23,6 +23,7 @@ struct hw_pci { #endif struct pci_ops *ops; int nr_controllers; + void **private_data; int (*setup)(int nr, struct pci_sys_data *); struct pci_bus *(*scan)(int nr, struct pci_sys_data *); void (*preinit)(void); diff --git a/trunk/arch/arm/kernel/bios32.c b/trunk/arch/arm/kernel/bios32.c index da7b0c99f296..a1f73b502ef0 100644 --- a/trunk/arch/arm/kernel/bios32.c +++ b/trunk/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) {