diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2010-12-17 05:57:25 -0600 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-01-14 01:32:19 -0600 |
commit | 3a0e3c27a50e395a59497e8bd60a00404e662eb1 (patch) | |
tree | a7cfbf3012adf21a4009a96180ca903e606b86bb /drivers/pci/pci.c | |
parent | 45a68135c12bf7d534f3ce25bef493e16d32cedb (diff) | |
download | u-boot-imx-3a0e3c27a50e395a59497e8bd60a00404e662eb1.zip u-boot-imx-3a0e3c27a50e395a59497e8bd60a00404e662eb1.tar.gz u-boot-imx-3a0e3c27a50e395a59497e8bd60a00404e662eb1.tar.bz2 |
powerpc/fsl-pci: Determine pci_controller based on cfg addr for dts fixup
Previously we passed in a specifically named struct pci_controller to
determine if we had setup the particular PCI bus. Now we can search for
the struct so we dont have to depend on the name or the struct being
statically allocated.
Introduced new find_hose_by_cfg_addr() to get back a pci_controller struct
back by searching for it means we can do things like dynamically allocate
them or not have to expose the static structures to all users.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 702ac67..cdfc4fb 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -165,6 +165,18 @@ struct pci_controller *pci_bus_to_hose (int bus) return NULL; } +struct pci_controller *find_hose_by_cfg_addr(void *cfg_addr) +{ + struct pci_controller *hose; + + for (hose = hose_head; hose; hose = hose->next) { + if (hose->cfg_addr == cfg_addr) + return hose; + } + + return NULL; +} + int pci_last_busno(void) { struct pci_controller *hose = hose_head; |