diff options
Diffstat (limited to 'arch/arm/mach-integrator/pci.c')
| -rw-r--r-- | arch/arm/mach-integrator/pci.c | 19 | 
1 files changed, 4 insertions, 15 deletions
diff --git a/arch/arm/mach-integrator/pci.c b/arch/arm/mach-integrator/pci.c index f1ca9c12286..6c1667e728f 100644 --- a/arch/arm/mach-integrator/pci.c +++ b/arch/arm/mach-integrator/pci.c @@ -70,21 +70,10 @@   */  static u8 __init integrator_swizzle(struct pci_dev *dev, u8 *pinp)  { -	int pin = *pinp; +	if (*pinp == 0) +		*pinp = 1; -	if (pin == 0) -		pin = 1; - -	while (dev->bus->self) { -		pin = pci_swizzle_interrupt_pin(dev, pin); -		/* -		 * move up the chain of bridges, swizzling as we go. -		 */ -		dev = dev->bus->self; -	} -	*pinp = pin; - -	return PCI_SLOT(dev->devfn); +	return pci_common_swizzle(dev, pinp);  }  static int irq_tab[4] __initdata = { @@ -109,7 +98,7 @@ static struct hw_pci integrator_pci __initdata = {  	.map_irq		= integrator_map_irq,  	.setup			= pci_v3_setup,  	.nr_controllers		= 1, -	.scan			= pci_v3_scan_bus, +	.ops			= &pci_v3_ops,  	.preinit		= pci_v3_preinit,  	.postinit		= pci_v3_postinit,  };  |