diff options
| author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-12-09 18:12:17 -0500 |
|---|---|---|
| committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-01-07 14:12:55 -0500 |
| commit | 30d546dac9420fc238109aec2c6596e044cc6d4c (patch) | |
| tree | 24cb3872598b32a1fb5baec0c8c1f1cdf46800bd | |
| parent | b1c86792a0f3cf24a12c1ac7d452d665d90284b1 (diff) | |
PCI: mips: use generic pci_swizzle_interrupt_pin()
Use the generic pci_swizzle_interrupt_pin() instead of arch-specific code.
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| -rw-r--r-- | arch/mips/pci/pci-ip27.c | 6 | ||||
| -rw-r--r-- | arch/mips/pci/pci.c | 9 |
2 files changed, 1 insertions, 14 deletions
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci-ip27.c index f97ab1461012..dda6f2058665 100644 --- a/arch/mips/pci/pci-ip27.c +++ b/arch/mips/pci/pci-ip27.c | |||
| @@ -146,12 +146,6 @@ int __devinit pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) | |||
| 146 | return 0; | 146 | return 0; |
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | /* Most MIPS systems have straight-forward swizzling needs. */ | ||
| 150 | static inline u8 bridge_swizzle(u8 pin, u8 slot) | ||
| 151 | { | ||
| 152 | return (((pin - 1) + slot) % 4) + 1; | ||
| 153 | } | ||
| 154 | |||
| 155 | static inline struct pci_dev *bridge_root_dev(struct pci_dev *dev) | 149 | static inline struct pci_dev *bridge_root_dev(struct pci_dev *dev) |
| 156 | { | 150 | { |
| 157 | while (dev->bus->parent) { | 151 | while (dev->bus->parent) { |
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 | } |
