pata_serverworks: cleanup cable detection
PATCH 2/3 pata_serverworks: cleanup cable detection
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH] pata_serverworks: cleanup cable detection
---
earlier references:
https://lkml.org/lkml/2010/1/18/324
drivers/ata/pata_serverworks.c | 37 +++++++------------------------------ 1 file changed, 7 insertions(+), 30 deletions(-)
drivers/ata/pata_serverworks.c +7 -30
@@ -57,32 +57,14 @@ static const char *csb_bad_ata100[] = { };/** -* dell_cable - Dell serverworks cable detection +* oem_cable - Dell/Sun serverworks cable detection * @ap: ATA port to do cable detect * -* Dell hide the 40/80 pin select for their interfaces in the top two -* bits of the subsystem ID. +* Dell PowerEdge and Sun Cobalt 'Alpine' hide the 40/80 pin select +* for their interfaces in the top two bits of the subsystem ID. */ -static int dell_cable (struct ata_port *ap) -{ -struct pci_dev *pdev =to_pci_dev (ap->host->dev); - -if (pdev->subsystem_device & (1 << (ap->port_no +14 ))) -return ATA_CBL_PATA80 ; -return ATA_CBL_PATA40 ; -} - -/** -* sun_cable - Sun Cobalt 'Alpine' cable detection -* @ap: ATA port to do cable select -* -* Cobalt CSB5 IDE hides the 40/80pin in the top two bits of the -* subsystem ID the same as dell. We could use one function but we may -* need to extend the Dell one in future -*/ - -static int sun_cable (struct ata_port *ap) +static int oem_cable (struct ata_port *ap) {struct pci_dev *pdev =to_pci_dev (ap->host->dev);
@@ -97,15 +79,10 @@ struct sv_cable_table {int (*cable_detect)(struct ata_port *ap); }; -/* -* Note that we don't copy the old serverworks code because the old -* code contains obvious mistakes -*/ -static struct sv_cable_table cable_detect[] = { - {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_DELL , dell_cable }, - {PCI_DEVICE_ID_SERVERWORKS_CSB6IDE ,PCI_VENDOR_ID_DELL , dell_cable }, - {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_SUN , sun_cable }, + {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_DELL , oem_cable }, + {PCI_DEVICE_ID_SERVERWORKS_CSB6IDE ,PCI_VENDOR_ID_DELL , oem_cable }, + {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_SUN , oem_cable }, {PCI_DEVICE_ID_SERVERWORKS_OSB4IDE ,PCI_ANY_ID , ata_cable_40wire }, {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_ANY_ID , ata_cable_unknown }, {PCI_DEVICE_ID_SERVERWORKS_CSB6IDE ,PCI_ANY_ID , ata_cable_unknown },
Quoted 4 lines · On Tue, 11 Oct 2011 20:11:44 +0200 Bartlomiej Zolnierkiewicz…
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH]pata_serverworks: cleanup cable detectionSigned-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Again no documentation although its at least a bit more obvious why
Quoted 9 lines · Alan Cox
Quoted 4 lines · On Tue, 11 Oct 2011 20:11:44 +0200 Bartlomiej Zolnierkiewicz…
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH]pata_serverworks: cleanup cable detectionSigned-off-by Bartlomiej Zolnierkiewicz <[email protected]>Again no documentation although its at least a bit more obvious why
The patch only merges identical cable routines for Dell and Sun systems into common oem_cable() one. No behavior changes here.
Quoted 8 lines · On Wed, 12 Oct 2011 17:05:38 +0200 Bartlomiej Zolnierkiewicz…
Quoted 6 lines · Alan Cox
Quoted 3 lines · On Tue, 11 Oct 2011 20:11:44 +0200 Bartlomiej Zolnierkiewicz…
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH]pata_serverworks: cleanup cable detection
Quoted 6 lines
Quoted 3 lines
Quoted 1 line
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>Again no documentation although its at least a bit more obvious why
The patch only merges identical cable routines for Dell and Sun systems into common
oem_cable()one. No behavior changes here.
So put that that in the patch info. It seems fine to me but it ought to be there
Quoted 13 lines · Alan Cox
Quoted 10 lines · On Wed, 12 Oct 2011 17:05:38 +0200 Bartlomiej Zolnierkiewicz…
Quoted 8 lines · Alan Cox
Quoted 4 lines · On Tue, 11 Oct 2011 20:11:44 +0200 Bartlomiej Zolnierkiewicz…
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH]pata_serverworks: cleanup cable detectionSigned-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Again no documentation although its at least a bit more obvious why
The patch only merges identical cable routines for Dell and Sun systems into common
oem_cable()one. No behavior changes here.So put that that in the patch info. It seems fine to me but it ought to be there
Ok.
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH v2] pata_serverworks: cleanup cable detection
Merge identical cable routines for Dell and Sun systems into common oem_cable() one.
---
v2: updated patch description
earlier references:
https://lkml.org/lkml/2010/1/18/324
drivers/ata/pata_serverworks.c | 37 +++++++------------------------------ 1 file changed, 7 insertions(+), 30 deletions(-)
drivers/ata/pata_serverworks.c +7 -30
@@ -57,32 +57,14 @@ static const char *csb_bad_ata100[] = { };/** -* dell_cable - Dell serverworks cable detection +* oem_cable - Dell/Sun serverworks cable detection * @ap: ATA port to do cable detect * -* Dell hide the 40/80 pin select for their interfaces in the top two -* bits of the subsystem ID. +* Dell PowerEdge and Sun Cobalt 'Alpine' hide the 40/80 pin select +* for their interfaces in the top two bits of the subsystem ID. */ -static int dell_cable (struct ata_port *ap) -{ -struct pci_dev *pdev =to_pci_dev (ap->host->dev); - -if (pdev->subsystem_device & (1 << (ap->port_no +14 ))) -return ATA_CBL_PATA80 ; -return ATA_CBL_PATA40 ; -} - -/** -* sun_cable - Sun Cobalt 'Alpine' cable detection -* @ap: ATA port to do cable select -* -* Cobalt CSB5 IDE hides the 40/80pin in the top two bits of the -* subsystem ID the same as dell. We could use one function but we may -* need to extend the Dell one in future -*/ - -static int sun_cable (struct ata_port *ap) +static int oem_cable (struct ata_port *ap) {struct pci_dev *pdev =to_pci_dev (ap->host->dev);
@@ -97,15 +79,10 @@ struct sv_cable_table {int (*cable_detect)(struct ata_port *ap); }; -/* -* Note that we don't copy the old serverworks code because the old -* code contains obvious mistakes -*/ -static struct sv_cable_table cable_detect[] = { - {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_DELL , dell_cable }, - {PCI_DEVICE_ID_SERVERWORKS_CSB6IDE ,PCI_VENDOR_ID_DELL , dell_cable }, - {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_SUN , sun_cable }, + {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_DELL , oem_cable }, + {PCI_DEVICE_ID_SERVERWORKS_CSB6IDE ,PCI_VENDOR_ID_DELL , oem_cable }, + {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_VENDOR_ID_SUN , oem_cable }, {PCI_DEVICE_ID_SERVERWORKS_OSB4IDE ,PCI_ANY_ID , ata_cable_40wire }, {PCI_DEVICE_ID_SERVERWORKS_CSB5IDE ,PCI_ANY_ID , ata_cable_unknown }, {PCI_DEVICE_ID_SERVERWORKS_CSB6IDE ,PCI_ANY_ID , ata_cable_unknown },
Alan Cox
Acked-byQuoted 6 lines
From: Bartlomiej Zolnierkiewicz <[email protected]>
Subject: [PATCH v2]pata_serverworks: cleanup cable detectionMerge identical cable routines for Dell and Sun systems into common
oem_cable()one.
Quoted 6 lines
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>---
v2: updated patch descriptionearlier references:
https://lkml.org/lkml/2010/1/18/324