Commit 183a4bfb authored by Sergey Shtylyov's avatar Sergey Shtylyov Committed by Damien Le Moal
Browse files

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: default avatarSergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
parent 5dfb8498
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -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);