PCI: Convert pcibios_resource_to_bus() to take a pci_bus, not a pci_dev
These interfaces: pcibios_resource_to_bus(struct pci_dev *dev, *bus_region, *resource) pcibios_bus_to_resource(struct pci_dev *dev, *resource, *bus_region) took a pci_dev, but they really depend only on the pci_bus. And we want to use them in resource allocation paths where we have the bus but not a device, so this patch converts them to take the pci_bus instead of the pci_dev: pcibios_resource_to_bus(struct pci_bus *bus, *bus_region, *resource) pcibios_bus_to_resource(struct pci_bus *bus, *resource, *bus_region) In fact, with standard PCI-PCI bridges, they only depend on the host bridge, because that's the only place address translation occurs, but we aren't going that far yet. [bhelgaas: changelog] Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:

committed by
Bjorn Helgaas

parent
0a5ef7b914
commit
fc2798502f
@@ -445,7 +445,7 @@ static int yenta_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *
|
||||
unsigned int start, stop, card_start;
|
||||
unsigned short word;
|
||||
|
||||
pcibios_resource_to_bus(socket->dev, ®ion, mem->res);
|
||||
pcibios_resource_to_bus(socket->dev->bus, ®ion, mem->res);
|
||||
|
||||
map = mem->map;
|
||||
start = region.start;
|
||||
@@ -709,7 +709,7 @@ static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type
|
||||
region.start = config_readl(socket, addr_start) & mask;
|
||||
region.end = config_readl(socket, addr_end) | ~mask;
|
||||
if (region.start && region.end > region.start && !override_bios) {
|
||||
pcibios_bus_to_resource(dev, res, ®ion);
|
||||
pcibios_bus_to_resource(dev->bus, res, ®ion);
|
||||
if (pci_claim_resource(dev, PCI_BRIDGE_RESOURCES + nr) == 0)
|
||||
return 0;
|
||||
dev_printk(KERN_INFO, &dev->dev,
|
||||
@@ -1033,7 +1033,7 @@ static void yenta_config_init(struct yenta_socket *socket)
|
||||
struct pci_dev *dev = socket->dev;
|
||||
struct pci_bus_region region;
|
||||
|
||||
pcibios_resource_to_bus(socket->dev, ®ion, &dev->resource[0]);
|
||||
pcibios_resource_to_bus(socket->dev->bus, ®ion, &dev->resource[0]);
|
||||
|
||||
config_writel(socket, CB_LEGACY_MODE_BASE, 0);
|
||||
config_writel(socket, PCI_BASE_ADDRESS_0, region.start);
|
||||
|
Reference in New Issue
Block a user