Jeff Garzik <jgarzik@xxxxxxxxx> writes: > Well, two lines of thinking here: > > * some of lines of Intel chips do not separate AHCI into a separate > PCI ID rather legacy IDE interface. When an AHCI interface exists and > AHCI/IDE share the same PCI ID, we default to using AHCI. Thus, some > of those PCI ID matches in ahci.c's PCI table may not get caught by > the generic PCI class match at the end of the table. > > * the cost carrying redundant PCI IDs seems low, harmless, and > potentially helpful. Also people may use things like this: diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index a3241a1..0616bbb 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -561,9 +561,11 @@ static const struct pci_device_id ahci_pci_tbl[] = { { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci }, /* PCH RAID */ { PCI_VDEVICE(INTEL, 0x3b2f), board_ahci }, /* PCH AHCI */ +#ifdef DOESNT_WORK_FOR_ME /* JMicron 360/1/3/5/6, match class to avoid IDE function */ { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci_ign_iferr }, +#endif /* ATI */ { PCI_VDEVICE(ATI, 0x4380), board_ahci_sb600 }, /* ATI SB600 */ @@ -667,9 +669,11 @@ static const struct pci_device_id ahci_pci_tbl[] = { /* Promise */ { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */ +#ifdef DOESNT_WORK_FOR_ME /* Generic, PCI class code for AHCI */ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci }, +#endif { } /* terminate list */ }; -- Krzysztof Halasa -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html