Skip to content

Commit

Permalink
PCI: alpha: use generic INTx swizzle from PCI core
Browse files Browse the repository at this point in the history
Use the generic pci_common_swizzle() instead of arch-specific code.

Note that pci_common_swizzle() loops based on dev->bus->self, not
dev->bus->parent as the alpha common_swizzle() did.  I think they
are equivalent for this purpose.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
  • Loading branch information
Bjorn Helgaas authored and Jesse Barnes committed Jan 7, 2009
1 parent 68feac8 commit 3e08601
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 20 deletions.
18 changes: 0 additions & 18 deletions arch/alpha/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -320,24 +320,6 @@ pcibios_update_irq(struct pci_dev *dev, int irq)
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

/* Most Alphas have straight-forward swizzling needs. */

u8 __init
common_swizzle(struct pci_dev *dev, u8 *pinp)
{
u8 pin = *pinp;

while (dev->bus->parent) {
pin = pci_swizzle_interrupt_pin(dev, pin);
/* Move up the chain of bridges. */
dev = dev->bus->self;
}
*pinp = pin;

/* The slot is the slot of the last bridge. */
return PCI_SLOT(dev->devfn);
}

void
pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
struct resource *res)
Expand Down
4 changes: 2 additions & 2 deletions arch/alpha/kernel/pci_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ struct pci_iommu_arena;
* Thus, each swizzle is ((pin-1) + (device#-4)) % 4
*
* pci_swizzle_interrupt_pin() swizzles for exactly one bridge. The routine
* common_swizzle below handles multiple bridges. But there are a
* pci_common_swizzle() handles multiple bridges. But there are a
* couple boards that do strange things.
*/

Expand Down Expand Up @@ -179,7 +179,7 @@ extern int pci_probe_only;
extern unsigned long alpha_agpgart_size;

extern void common_init_pci(void);
extern u8 common_swizzle(struct pci_dev *, u8 *);
#define common_swizzle pci_common_swizzle
extern struct pci_controller *alloc_pci_controller(void);
extern struct resource *alloc_resource(void);

Expand Down

0 comments on commit 3e08601

Please sign in to comment.