pata_cmd64x: turn string of *if* statements into *switch*
Convert string of the *if* statements all checking 'pdev->revision' into more natural *switch* statement. While at it, somewhat clarify the comments there... Increment the driver version, accounting for the patches that neglected to do this in the past. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
d01159dffa
commit
8fcfa7bd1b
1 changed files with 17 additions and 11 deletions
|
@ -32,7 +32,7 @@
|
|||
#include <linux/libata.h>
|
||||
|
||||
#define DRV_NAME "pata_cmd64x"
|
||||
#define DRV_VERSION "0.2.5"
|
||||
#define DRV_VERSION "0.2.15"
|
||||
|
||||
/*
|
||||
* CMD64x specific registers definition.
|
||||
|
@ -368,21 +368,27 @@ static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
if (id->driver_data == 0) /* 643 */
|
||||
ata_pci_bmdma_clear_simplex(pdev);
|
||||
|
||||
if (pdev->device == PCI_DEVICE_ID_CMD_646) {
|
||||
/* Does UDMA work ? */
|
||||
if (pdev->revision > 4) {
|
||||
if (pdev->device == PCI_DEVICE_ID_CMD_646)
|
||||
switch (pdev->revision) {
|
||||
/* UDMA works since rev 5 */
|
||||
default:
|
||||
ppi[0] = &cmd_info[2];
|
||||
ppi[1] = &cmd_info[2];
|
||||
}
|
||||
/* Early rev with other problems ? */
|
||||
else if (pdev->revision == 1) {
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
break;
|
||||
/* Rev 1 with other problems? */
|
||||
case 1:
|
||||
ppi[0] = &cmd_info[3];
|
||||
ppi[1] = &cmd_info[3];
|
||||
}
|
||||
/* revs 1,2 have no CNTRL_CH0 */
|
||||
if (pdev->revision < 3)
|
||||
/* FALL THRU */
|
||||
/* Early revs have no CNTRL_CH0 */
|
||||
case 2:
|
||||
case 0:
|
||||
cntrl_ch0_ok = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
cmd64x_fixup(pdev);
|
||||
|
||||
|
|
Loading…
Reference in a new issue