mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
yenta: Use pci_claim_resource
Instead of open-coding pci_find_parent_resource and request_resource, just call pci_claim_resource. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
eae91c0215
commit
852710d9fd
@ -622,11 +622,12 @@ static int yenta_search_res(struct yenta_socket *socket, struct resource *res,
|
||||
|
||||
static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type, int addr_start, int addr_end)
|
||||
{
|
||||
struct resource *root, *res;
|
||||
struct pci_dev *dev = socket->dev;
|
||||
struct resource *res;
|
||||
struct pci_bus_region region;
|
||||
unsigned mask;
|
||||
|
||||
res = socket->dev->resource + PCI_BRIDGE_RESOURCES + nr;
|
||||
res = dev->resource + PCI_BRIDGE_RESOURCES + nr;
|
||||
/* Already allocated? */
|
||||
if (res->parent)
|
||||
return 0;
|
||||
@ -636,17 +637,16 @@ static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type
|
||||
if (type & IORESOURCE_IO)
|
||||
mask = ~3;
|
||||
|
||||
res->name = socket->dev->subordinate->name;
|
||||
res->name = dev->subordinate->name;
|
||||
res->flags = 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(socket->dev, res, ®ion);
|
||||
root = pci_find_parent_resource(socket->dev, res);
|
||||
if (root && (request_resource(root, res) == 0))
|
||||
pcibios_bus_to_resource(dev, res, ®ion);
|
||||
if (pci_claim_resource(dev, PCI_BRIDGE_RESOURCES + nr) == 0)
|
||||
return 0;
|
||||
dev_printk(KERN_INFO, &socket->dev->dev,
|
||||
dev_printk(KERN_INFO, &dev->dev,
|
||||
"Preassigned resource %d busy or not available, "
|
||||
"reconfiguring...\n",
|
||||
nr);
|
||||
@ -672,7 +672,7 @@ static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type
|
||||
return 1;
|
||||
}
|
||||
|
||||
dev_printk(KERN_INFO, &socket->dev->dev,
|
||||
dev_printk(KERN_INFO, &dev->dev,
|
||||
"no resource of type %x available, trying to continue...\n",
|
||||
type);
|
||||
res->start = res->end = res->flags = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user