x86, apic: introduce io_apic_irq_attr
according to Ingo, io_apic irq-setup related functions have too many parameters with a repetitive signature. So reduce related funcs to get less params by passing a pointer to a newly defined io_apic_irq_attr structure. v2: io_apic_irq ==> irq_attr triggering ==> trigger v3: add set_io_apic_irq_attr [ Impact: cleanup ] Signed-off-by: Yinghai Lu <yinghai@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Len Brown <lenb@kernel.org> LKML-Reference: <4A08ACD3.2070401@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -1200,14 +1200,11 @@ static int pirq_enable_irq(struct pci_dev *dev)
|
||||
#ifdef CONFIG_X86_IO_APIC
|
||||
struct pci_dev *temp_dev;
|
||||
int irq;
|
||||
int ioapic = -1, ioapic_pin = -1;
|
||||
int triggering, polarity;
|
||||
struct io_apic_irq_attr irq_attr;
|
||||
|
||||
irq = IO_APIC_get_PCI_irq_vector(dev->bus->number,
|
||||
PCI_SLOT(dev->devfn),
|
||||
pin - 1,
|
||||
&ioapic, &ioapic_pin,
|
||||
&triggering, &polarity);
|
||||
pin - 1, &irq_attr);
|
||||
/*
|
||||
* Busses behind bridges are typically not listed in the MP-table.
|
||||
* In this case we have to look up the IRQ based on the parent bus,
|
||||
@@ -1221,9 +1218,7 @@ static int pirq_enable_irq(struct pci_dev *dev)
|
||||
pin = pci_swizzle_interrupt_pin(dev, pin);
|
||||
irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number,
|
||||
PCI_SLOT(bridge->devfn),
|
||||
pin - 1,
|
||||
&ioapic, &ioapic_pin,
|
||||
&triggering, &polarity);
|
||||
pin - 1, &irq_attr);
|
||||
if (irq >= 0)
|
||||
dev_warn(&dev->dev, "using bridge %s "
|
||||
"INT %c to get IRQ %d\n",
|
||||
@@ -1233,9 +1228,8 @@ static int pirq_enable_irq(struct pci_dev *dev)
|
||||
}
|
||||
dev = temp_dev;
|
||||
if (irq >= 0) {
|
||||
io_apic_set_pci_routing(&dev->dev, ioapic,
|
||||
ioapic_pin, irq,
|
||||
triggering, polarity);
|
||||
io_apic_set_pci_routing(&dev->dev, irq,
|
||||
&irq_attr);
|
||||
dev->irq = irq;
|
||||
dev_info(&dev->dev, "PCI->APIC IRQ transform: "
|
||||
"INT %c -> IRQ %d\n", 'A' + pin - 1, irq);
|
||||
|
Reference in New Issue
Block a user