Re: [PATCH] PCI: Fix pcibios_update_irq misuse of irq number

From: Arnd Bergmann
Date: Mon Feb 02 2015 - 14:11:56 EST


On Wednesday 28 January 2015 14:51:23 Marc Zyngier wrote:
> void __weak pcibios_update_irq(struct pci_dev *dev, int irq)
> {
> - dev_dbg(&dev->dev, "assigning IRQ %02d\n", irq);
> - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
> + struct irq_data *d;
> +
> + d = irq_get_irq_data(irq);
> +#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
> + while (d->parent_data)
> + d = d->parent_data;
> +#endif
> + dev_dbg(&dev->dev, "assigning IRQ %02ld\n", d->hwirq);
> + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, d->hwirq);
> }

I'm puzzled by this. Why is it even important what we write into
the config space? Isn't this just an interface between BIOS and
OS for systems that rely on the interrupt numbers to be statically
assigned before boot?

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/