Re: VIA IRQ quirk missing PCI ids since 2.6.16.17

From: Jeff Garzik
Date: Tue Nov 07 2006 - 03:32:18 EST


Dave Jones wrote:
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},

Won't work, libata passes hex constants as the second argument... which is the policy I'm encouraging for all places where the PCI_DEVICE_ID_xxx is only used in a single place.

Jeff



-
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/