Skip to content

Commit

Permalink
ata: pata_artop: use *switch* in artop_init_one()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Sergey Shtylyov authored and Damien Le Moal committed Feb 19, 2022
1 parent 5dfb849 commit 183a4bf
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions drivers/ata/pata_artop.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 183a4bf

Please sign in to comment.