diff options
Diffstat (limited to 'arch/mips/pci/pci.c')
-rw-r--r-- | arch/mips/pci/pci.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c index 62cae740e250..fa63dc25125d 100644 --- a/arch/mips/pci/pci.c +++ b/arch/mips/pci/pci.c | |||
@@ -149,19 +149,12 @@ out: | |||
149 | "Skipping PCI bus scan due to resource conflict\n"); | 149 | "Skipping PCI bus scan due to resource conflict\n"); |
150 | } | 150 | } |
151 | 151 | ||
152 | /* Most MIPS systems have straight-forward swizzling needs. */ | ||
153 | |||
154 | static inline u8 bridge_swizzle(u8 pin, u8 slot) | ||
155 | { | ||
156 | return (((pin - 1) + slot) % 4) + 1; | ||
157 | } | ||
158 | |||
159 | static u8 __init common_swizzle(struct pci_dev *dev, u8 *pinp) | 152 | static u8 __init common_swizzle(struct pci_dev *dev, u8 *pinp) |
160 | { | 153 | { |
161 | u8 pin = *pinp; | 154 | u8 pin = *pinp; |
162 | 155 | ||
163 | while (dev->bus->parent) { | 156 | while (dev->bus->parent) { |
164 | pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn)); | 157 | pin = pci_swizzle_interrupt_pin(dev, pin); |
165 | /* Move up the chain of bridges. */ | 158 | /* Move up the chain of bridges. */ |
166 | dev = dev->bus->self; | 159 | dev = dev->bus->self; |
167 | } | 160 | } |