On Mon, 10 Jan 2011 11:19:15 -0800, Heasley, Seth wrote: > >> --- linux-2.6.37/arch/x86/pci/irq.c.orig 2011-01-04 > >16:50:19.000000000 -0800 > >> +++ linux-2.6.37/arch/x86/pci/irq.c 2011-01-06 14:16:00.000000000 > >-0800 > >> @@ -611,6 +611,15 @@ > >> r->set = pirq_piix_set; > >> return 1; > >> } > >> + > >> + if ((device >= PCI_DEVICE_ID_INTEL_DH89XXCC_LPC_MIN) && > >> + (device <= PCI_DEVICE_ID_INTEL_DH89XXCC_LPC_MAX)) { > >> + r->name = "PIIX/ICH"; > >> + r->get = pirq_piix_get; > >> + r->set = pirq_piix_set; > >> + return 1; > >> + } > >> + > > > >I'm curious why we have separate sections for INTEL_5_3400_SERIES, > >INTEL_COUGARPOINT and now INTEL_DH89XXCC? We do the same thing for all > >3, so it would make sense to merge the tests to avoid duplicating the > >code. > > Some products are defining a range of DeviceIDs rather than one or two specific IDs, so these blocks are for catching any DeviceID in the range. I'm certainly open to suggestion for a better way to handle these, and I agree that the current way is awkward. I understand the need to have separate blocks for separate IDs and for ID ranges. But all the ranges could be covered by the same block: if ((device >= PCI_DEVICE_ID_INTEL_5_3400_SERIES_LPC_MIN && device <= PCI_DEVICE_ID_INTEL_5_3400_SERIES_LPC_MAX) || (device >= PCI_DEVICE_ID_INTEL_COUGARPOINT_LPC_MIN && device <= PCI_DEVICE_ID_INTEL_COUGARPOINT_LPC_MAX)) { r->name = "PIIX/ICH"; r->get = pirq_piix_get; r->set = pirq_piix_set; return 1; } -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html