cs5536: add support for IDE controller variant
authorAndrey Korolyov <andrey@xdel.ru>
Thu, 10 Aug 2017 10:21:14 +0000 (13:21 +0300)
committerTejun Heo <tj@kernel.org>
Fri, 11 Aug 2017 17:35:07 +0000 (10:35 -0700)
Several legacy devices such as Geode-based Cisco ASA appliances
and DB800 development board do possess CS5536 IDE controller
with different PCI id than existing one. Using pata_generic is
not always feasible as at least DB800 requires MSR quirk from
pata_cs5536 to be used with vendor firmware.

Signed-off-by: Andrey Korolyov <andrey@xdel.ru>
CC: stable@vger.kernel.org
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/pata_amd.c
drivers/ata/pata_cs5536.c
include/linux/pci_ids.h

index 8d4d959a821cab1a356dfde38226caf69ab5129f..8706533db57b6eb850cd74bc224ff67f36bcbaa5 100644 (file)
@@ -616,6 +616,7 @@ static const struct pci_device_id amd[] = {
        { PCI_VDEVICE(NVIDIA,   PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_IDE), 8 },
        { PCI_VDEVICE(NVIDIA,   PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE), 8 },
        { PCI_VDEVICE(AMD,      PCI_DEVICE_ID_AMD_CS5536_IDE),          9 },
+       { PCI_VDEVICE(AMD,      PCI_DEVICE_ID_AMD_CS5536_DEV_IDE),      9 },
 
        { },
 };
index 6c15a554efbe1945f79a12aa7588c25cd10be024..dc12552946281d91d262fce5a04adaa7a60b08a3 100644 (file)
@@ -289,6 +289,7 @@ static int cs5536_init_one(struct pci_dev *dev, const struct pci_device_id *id)
 
 static const struct pci_device_id cs5536[] = {
        { PCI_VDEVICE(AMD,      PCI_DEVICE_ID_AMD_CS5536_IDE), },
+       { PCI_VDEVICE(AMD,      PCI_DEVICE_ID_AMD_CS5536_DEV_IDE), },
        { },
 };
 
index c71e532da4589df0ee73fd0a8c2bb586c5f9f0ca..4adf6161ec77d9accd1015f51099c5db2857e4d6 100644 (file)
 #define PCI_DEVICE_ID_AMD_CS5536_EHC    0x2095
 #define PCI_DEVICE_ID_AMD_CS5536_UDC    0x2096
 #define PCI_DEVICE_ID_AMD_CS5536_UOC    0x2097
+#define PCI_DEVICE_ID_AMD_CS5536_DEV_IDE    0x2092
 #define PCI_DEVICE_ID_AMD_CS5536_IDE    0x209A
 #define PCI_DEVICE_ID_AMD_LX_VIDEO  0x2081
 #define PCI_DEVICE_ID_AMD_LX_AES    0x2082