diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2009-11-13 19:35:04 -0500 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-11-24 18:30:36 -0500 |
commit | f6e1d8cc38b3776038fb15d3acc82ed8bb552f82 (patch) | |
tree | d6ff3745b8f3843bad4cf284e653e38ba3b0a693 /arch/x86/pci/mmconfig-shared.c | |
parent | 8c57786ad3d921713c7ad8e44132aa537a1d0fec (diff) |
x86/PCI: MMCONFIG: add lookup function
This patch factors out the search for an MMCONFIG region, which was
previously implemented in both mmconfig_32 and mmconfig_64. No functional
change.
Reviewed-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch/x86/pci/mmconfig-shared.c')
-rw-r--r-- | arch/x86/pci/mmconfig-shared.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index 71d69b88fa33..b19d1e54201e 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c | |||
@@ -97,6 +97,18 @@ static __init struct pci_mmcfg_region *pci_mmconfig_add(int segment, int start, | |||
97 | return new; | 97 | return new; |
98 | } | 98 | } |
99 | 99 | ||
100 | struct pci_mmcfg_region *pci_mmconfig_lookup(int segment, int bus) | ||
101 | { | ||
102 | struct pci_mmcfg_region *cfg; | ||
103 | |||
104 | list_for_each_entry(cfg, &pci_mmcfg_list, list) | ||
105 | if (cfg->segment == segment && | ||
106 | cfg->start_bus <= bus && bus <= cfg->end_bus) | ||
107 | return cfg; | ||
108 | |||
109 | return NULL; | ||
110 | } | ||
111 | |||
100 | static const char __init *pci_mmcfg_e7520(void) | 112 | static const char __init *pci_mmcfg_e7520(void) |
101 | { | 113 | { |
102 | u32 win; | 114 | u32 win; |