Commit c7f4bbc9 authored by Yinghai Lu's avatar Yinghai Lu Committed by Bjorn Helgaas

x86/PCI: Factor out pcibios_allocate_dev_resources()

Factor pcibios_allocate_dev_resources() out of
pcibios_allocate_resources().  Currently we only allocate these
resources at boot-time with a for_each_pci_dev() loop.  Eventually
we'll use pcibios_allocate_dev_resources() for hot-added devices, too.

[bhelgaas: changelog]
Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent f7ac356d
......@@ -232,9 +232,8 @@ struct pci_check_idx_range {
int end;
};
static void __init pcibios_allocate_resources(int pass)
static void __init pcibios_allocate_dev_resources(struct pci_dev *dev, int pass)
{
struct pci_dev *dev = NULL;
int idx, disabled, i;
u16 command;
struct resource *r;
......@@ -246,7 +245,6 @@ static void __init pcibios_allocate_resources(int pass)
#endif
};
for_each_pci_dev(dev) {
pci_read_config_word(dev, PCI_COMMAND, &command);
for (i = 0; i < ARRAY_SIZE(idx_range); i++)
for (idx = idx_range[i].start; idx <= idx_range[i].end; idx++) {
......@@ -280,13 +278,19 @@ static void __init pcibios_allocate_resources(int pass)
u32 reg;
dev_dbg(&dev->dev, "disabling ROM %pR\n", r);
r->flags &= ~IORESOURCE_ROM_ENABLE;
pci_read_config_dword(dev,
dev->rom_base_reg, &reg);
pci_read_config_dword(dev, dev->rom_base_reg, &reg);
pci_write_config_dword(dev, dev->rom_base_reg,
reg & ~PCI_ROM_ADDRESS_ENABLE);
}
}
}
}
static void __init pcibios_allocate_resources(int pass)
{
struct pci_dev *dev = NULL;
for_each_pci_dev(dev)
pcibios_allocate_dev_resources(dev, pass);
}
static int __init pcibios_assign_resources(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment