via82cxxx: add Arima W730-K8 and other rebadgings to short cables list
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 11 Sep 2007 20:28:37 +0000 (22:28 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 11 Sep 2007 20:28:37 +0000 (22:28 +0200)
Port of Alan's patch for pata_via.c.

Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/pci/via82cxxx.c

index 8c53938..a7be779 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *
- * Version 3.46
+ * Version 3.47
  *
  * VIA IDE driver for Linux. Supported southbridges:
  *
@@ -430,19 +430,26 @@ static struct dmi_system_id cable_dmi_table[] = {
        { }
 };
 
-static int via_cable_override(void)
+static int via_cable_override(struct pci_dev *pdev)
 {
        /* Systems by DMI */
        if (dmi_check_system(cable_dmi_table))
                return 1;
+
+       /* Arima W730-K8/Targa Visionary 811/... */
+       if (pdev->subsystem_vendor == 0x161F &&
+           pdev->subsystem_device == 0x2032)
+               return 1;
+
        return 0;
 }
 
 static u8 __devinit via82cxxx_cable_detect(ide_hwif_t *hwif)
 {
-       struct via82cxxx_dev *vdev = pci_get_drvdata(hwif->pci_dev);
+       struct pci_dev *pdev = hwif->pci_dev;
+       struct via82cxxx_dev *vdev = pci_get_drvdata(pdev);
 
-       if (via_cable_override())
+       if (via_cable_override(pdev))
                return ATA_CBL_PATA40_SHORT;
 
        if ((vdev->via_80w >> hwif->channel) & 1)