Re: VIA IRQ quirk missing PCI ids since 2.6.16.17

Dave Jones
2006-11-07T01:25:39Z

On Mon, Nov 06, 2006 at 09:13:45PM +0000, Alan Cox wrote:

> +static const struct pci_device_id via_vlink_fixup_tbl[] = {
> + { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_8233_0), 17},
> + { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_8233A), 17 },
> + { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_8233C_0), 17 },
> + { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_8235), 16 },
> + /* May not be needed for the 8237 */
> + { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_8237), 15 },
> + { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_8237A), 15 },
> { 0, },

This got me wondering what PCI_VDEVICE was, so I went looking.
It's a libata'ism it seems with the comment..

/* move to PCI layer? */

Which sounds like a good idea to me. But until this is moved,
does quirks.c actually compile with this patch? I don't see
an include of linux/libata.h there.

When it gets moved to the PCI layer, I wonder if it'd be worth
doing the same thing to the second argument, so that we'd be
able to do..

{ PCI_VDEVICE(VIA, VIA_8233_0), 17},

Or maybe even..

{ PCI_VDEVICE(VIA, 8233_0), 17},

?

Dave

--