ata: pata_artop: use *switch* in artop_init_one()
This driver uses a string of the *if* statements in artop_init_one() where the *switch* statement would fit better. While fixing this, refactor the 6280 code to e.g. avoid a compound statement inside the *case* section... Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
This commit is contained in:
parent
5dfb84982e
commit
183a4bfbd7
@ -28,7 +28,7 @@
|
||||
#include <linux/ata.h>
|
||||
|
||||
#define DRV_NAME "pata_artop"
|
||||
#define DRV_VERSION "0.4.6"
|
||||
#define DRV_VERSION "0.4.7"
|
||||
|
||||
/*
|
||||
* The ARTOP has 33 Mhz and "over clocked" timing tables. Until we
|
||||
@ -394,16 +394,19 @@ static int artop_init_one (struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
if (id->driver_data == 0) /* 6210 variant */
|
||||
switch (id->driver_data) {
|
||||
case 0: /* 6210 variant */
|
||||
ppi[0] = &info_6210;
|
||||
else if (id->driver_data == 1) /* 6260 */
|
||||
break;
|
||||
case 1: /* 6260 */
|
||||
ppi[0] = &info_626x;
|
||||
else if (id->driver_data == 2) { /* 6280 or 6280 + fast */
|
||||
unsigned long io = pci_resource_start(pdev, 4);
|
||||
|
||||
ppi[0] = &info_628x;
|
||||
if (inb(io) & 0x10)
|
||||
break;
|
||||
case 2: /* 6280 or 6280 + fast */
|
||||
if (inb(pci_resource_start(pdev, 4)) & 0x10)
|
||||
ppi[0] = &info_628x_fast;
|
||||
else
|
||||
ppi[0] = &info_628x;
|
||||
break;
|
||||
}
|
||||
|
||||
BUG_ON(ppi[0] == NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user