mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	x86: 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: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									a6c140969b
								
							
						
					
					
						commit
						a76117dfd6
					
				
					 1 changed files with 7 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -116,7 +116,7 @@ static void __init pcibios_allocate_bus_resources(struct list_head *bus_list)
 | 
			
		|||
	struct pci_bus *bus;
 | 
			
		||||
	struct pci_dev *dev;
 | 
			
		||||
	int idx;
 | 
			
		||||
	struct resource *r, *pr;
 | 
			
		||||
	struct resource *r;
 | 
			
		||||
 | 
			
		||||
	/* Depth-First Search on bus tree */
 | 
			
		||||
	list_for_each_entry(bus, bus_list, node) {
 | 
			
		||||
| 
						 | 
				
			
			@ -126,9 +126,8 @@ static void __init pcibios_allocate_bus_resources(struct list_head *bus_list)
 | 
			
		|||
				r = &dev->resource[idx];
 | 
			
		||||
				if (!r->flags)
 | 
			
		||||
					continue;
 | 
			
		||||
				pr = pci_find_parent_resource(dev, r);
 | 
			
		||||
				if (!r->start || !pr ||
 | 
			
		||||
				    request_resource(pr, r) < 0) {
 | 
			
		||||
				if (!r->start ||
 | 
			
		||||
				    pci_claim_resource(dev, idx) < 0) {
 | 
			
		||||
					dev_info(&dev->dev, "BAR %d: can't allocate resource\n", idx);
 | 
			
		||||
					/*
 | 
			
		||||
					 * Something is wrong with the region.
 | 
			
		||||
| 
						 | 
				
			
			@ -149,7 +148,7 @@ static void __init pcibios_allocate_resources(int pass)
 | 
			
		|||
	struct pci_dev *dev = NULL;
 | 
			
		||||
	int idx, disabled;
 | 
			
		||||
	u16 command;
 | 
			
		||||
	struct resource *r, *pr;
 | 
			
		||||
	struct resource *r;
 | 
			
		||||
 | 
			
		||||
	for_each_pci_dev(dev) {
 | 
			
		||||
		pci_read_config_word(dev, PCI_COMMAND, &command);
 | 
			
		||||
| 
						 | 
				
			
			@ -168,8 +167,7 @@ static void __init pcibios_allocate_resources(int pass)
 | 
			
		|||
					(unsigned long long) r->start,
 | 
			
		||||
					(unsigned long long) r->end,
 | 
			
		||||
					r->flags, disabled, pass);
 | 
			
		||||
				pr = pci_find_parent_resource(dev, r);
 | 
			
		||||
				if (!pr || request_resource(pr, r) < 0) {
 | 
			
		||||
				if (pci_claim_resource(dev, idx) < 0) {
 | 
			
		||||
					dev_info(&dev->dev, "BAR %d: can't allocate resource\n", idx);
 | 
			
		||||
					/* We'll assign a new address later */
 | 
			
		||||
					r->end -= r->start;
 | 
			
		||||
| 
						 | 
				
			
			@ -197,7 +195,7 @@ static void __init pcibios_allocate_resources(int pass)
 | 
			
		|||
static int __init pcibios_assign_resources(void)
 | 
			
		||||
{
 | 
			
		||||
	struct pci_dev *dev = NULL;
 | 
			
		||||
	struct resource *r, *pr;
 | 
			
		||||
	struct resource *r;
 | 
			
		||||
 | 
			
		||||
	if (!(pci_probe & PCI_ASSIGN_ROMS)) {
 | 
			
		||||
		/*
 | 
			
		||||
| 
						 | 
				
			
			@ -209,8 +207,7 @@ static int __init pcibios_assign_resources(void)
 | 
			
		|||
			r = &dev->resource[PCI_ROM_RESOURCE];
 | 
			
		||||
			if (!r->flags || !r->start)
 | 
			
		||||
				continue;
 | 
			
		||||
			pr = pci_find_parent_resource(dev, r);
 | 
			
		||||
			if (!pr || request_resource(pr, r) < 0) {
 | 
			
		||||
			if (pci_claim_resource(dev, PCI_ROM_RESOURCE) < 0) {
 | 
			
		||||
				r->end -= r->start;
 | 
			
		||||
				r->start = 0;
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue