x86/PCI: split out pci_mmconfig_alloc() for code reuse
Split out pci_mmconfig_alloc() for code reuse, which will be used when supporting PCI root bridge hotplug. Reviewed-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Jiang Liu <liuj97@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
2a76c450bd
commit
846e402300
@ -61,8 +61,9 @@ static __init void list_add_sorted(struct pci_mmcfg_region *new)
|
||||
list_add_tail(&new->list, &pci_mmcfg_list);
|
||||
}
|
||||
|
||||
static __init struct pci_mmcfg_region *pci_mmconfig_add(int segment, int start,
|
||||
int end, u64 addr)
|
||||
static __devinit struct pci_mmcfg_region *pci_mmconfig_alloc(int segment,
|
||||
int start,
|
||||
int end, u64 addr)
|
||||
{
|
||||
struct pci_mmcfg_region *new;
|
||||
struct resource *res;
|
||||
@ -79,8 +80,6 @@ static __init struct pci_mmcfg_region *pci_mmconfig_add(int segment, int start,
|
||||
new->start_bus = start;
|
||||
new->end_bus = end;
|
||||
|
||||
list_add_sorted(new);
|
||||
|
||||
res = &new->res;
|
||||
res->start = addr + PCI_MMCFG_BUS_OFFSET(start);
|
||||
res->end = addr + PCI_MMCFG_BUS_OFFSET(end + 1) - 1;
|
||||
@ -96,6 +95,18 @@ static __init struct pci_mmcfg_region *pci_mmconfig_add(int segment, int start,
|
||||
return new;
|
||||
}
|
||||
|
||||
static __init struct pci_mmcfg_region *pci_mmconfig_add(int segment, int start,
|
||||
int end, u64 addr)
|
||||
{
|
||||
struct pci_mmcfg_region *new;
|
||||
|
||||
new = pci_mmconfig_alloc(segment, start, end, addr);
|
||||
if (new)
|
||||
list_add_sorted(new);
|
||||
|
||||
return new;
|
||||
}
|
||||
|
||||
struct pci_mmcfg_region *pci_mmconfig_lookup(int segment, int bus)
|
||||
{
|
||||
struct pci_mmcfg_region *cfg;
|
||||
|
Loading…
x
Reference in New Issue
Block a user