diff mbox series

[v3] pata_artop: use *switch* in artop_init_one()

Message ID dbb4010a-e466-d7f5-e926-72577a96a22d@omp.ru
State New
Headers show
Series [v3] pata_artop: use *switch* in artop_init_one() | expand

Commit Message

Sergey Shtylyov Feb. 4, 2022, 7:09 p.m. UTC
This driver uses a string of the *if* statements where a *switch* statement
fits better...

Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>

---
This patch is against the 'for-next' branch of Damien Le Moal's 'libata.git'
repo.

Changes in version 3:
- fixed up the patch subject.

Changes in version 2:
- updated #define DRV_VERSION.

 drivers/ata/pata_artop.c |   24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

Comments

Damien Le Moal Feb. 4, 2022, 11:39 p.m. UTC | #1
On 2/5/22 04:09, Sergey Shtylyov wrote:
> This driver uses a string of the *if* statements where a *switch* statement
> fits better...
> 
> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
> 
> ---
> This patch is against the 'for-next' branch of Damien Le Moal's 'libata.git'
> repo.
> 
> Changes in version 3:
> - fixed up the patch subject.
> 
> Changes in version 2:
> - updated #define DRV_VERSION.
> 
>  drivers/ata/pata_artop.c |   24 +++++++++++++++---------
>  1 file changed, 15 insertions(+), 9 deletions(-)
> 
> Index: libata/drivers/ata/pata_artop.c
> ===================================================================
> --- libata.orig/drivers/ata/pata_artop.c
> +++ libata/drivers/ata/pata_artop.c
> @@ -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,22 @@ static int artop_init_one (struct pci_de
>  	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)
> -			ppi[0] = &info_628x_fast;
> +		break;
> +	case 2:		/* 6280 or 6280 + fast */
> +		{
> +			unsigned long io = pci_resource_start(pdev, 4);
> +
> +			ppi[0] = &info_628x;
> +			if (inb(io) & 0x10)
> +				ppi[0] = &info_628x_fast;
> +		}


Do you really need the local variable ?
I would make this:

		if (pci_resource_start(pdev, 4) & 0x10)
			ppi[0] = &info_628x_fast;
		else
			ppi[0] = &info_628x;

simpler :)

> +		break;
>  	}
>  
>  	BUG_ON(ppi[0] == NULL);
Sergey Shtylyov Feb. 5, 2022, 10:36 a.m. UTC | #2
On 2/5/22 2:39 AM, Damien Le Moal wrote:

>> This driver uses a string of the *if* statements where a *switch* statement
>> fits better...
>>
>> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
>>
>> ---
>> This patch is against the 'for-next' branch of Damien Le Moal's 'libata.git'
>> repo.
>>
>> Changes in version 3:
>> - fixed up the patch subject.
>>
>> Changes in version 2:
>> - updated #define DRV_VERSION.
>>
>>  drivers/ata/pata_artop.c |   24 +++++++++++++++---------
>>  1 file changed, 15 insertions(+), 9 deletions(-)
>>
>> Index: libata/drivers/ata/pata_artop.c
>> ===================================================================
>> --- libata.orig/drivers/ata/pata_artop.c
>> +++ libata/drivers/ata/pata_artop.c
>> @@ -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,22 @@ static int artop_init_one (struct pci_de
>>  	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)
>> -			ppi[0] = &info_628x_fast;
>> +		break;
>> +	case 2:		/* 6280 or 6280 + fast */
>> +		{
>> +			unsigned long io = pci_resource_start(pdev, 4);
>> +
>> +			ppi[0] = &info_628x;
>> +			if (inb(io) & 0x10)
>> +				ppi[0] = &info_628x_fast;
>> +		}
> 
> 
> Do you really need the local variable ?
> I would make this:
> 
> 		if (pci_resource_start(pdev, 4) & 0x10)
> 			ppi[0] = &info_628x_fast;
> 		else
> 			ppi[0] = &info_628x;
> 
> simpler :)

   Yeah! :-)
   But a matter of another patch, I think...

[...]

MBR, Sergey
diff mbox series

Patch

Index: libata/drivers/ata/pata_artop.c
===================================================================
--- libata.orig/drivers/ata/pata_artop.c
+++ libata/drivers/ata/pata_artop.c
@@ -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,22 @@  static int artop_init_one (struct pci_de
 	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)
-			ppi[0] = &info_628x_fast;
+		break;
+	case 2:		/* 6280 or 6280 + fast */
+		{
+			unsigned long io = pci_resource_start(pdev, 4);
+
+			ppi[0] = &info_628x;
+			if (inb(io) & 0x10)
+				ppi[0] = &info_628x_fast;
+		}
+		break;
 	}
 
 	BUG_ON(ppi[0] == NULL);