diff mbox series

[v5,2/2] ata: pata_artop: use *switch* in atp8xx_fixup()

Message ID 20220209202535.7679-3-s.shtylyov@omp.ru
State New
Headers show
Series Use *switch*es instead of *if*s in the Artop PATA driver | expand

Commit Message

Sergey Shtylyov Feb. 9, 2022, 8:25 p.m. UTC
This driver uses a string of the *if* statements in atp8xx_fixup() where
a *switch* statement would fit better...

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

Changes in version 5:
- fixed up #define DRV_VERSION;
- added "ata: " prefix to the patch subject.

Changes in version 4:
- new patch.

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

Comments

Damien Le Moal Feb. 9, 2022, 11:29 p.m. UTC | #1
On 2/10/22 05:25, Sergey Shtylyov wrote:
> This driver uses a string of the *if* statements in atp8xx_fixup() where
> a *switch* statement would fit better...
> 
> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
> ---
> 
> Changes in version 5:
> - fixed up #define DRV_VERSION;
> - added "ata: " prefix to the patch subject.
> 
> Changes in version 4:
> - new patch.
> 
>  drivers/ata/pata_artop.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c
> index 08e88403d0ab..20a8f31a3f57 100644
> --- a/drivers/ata/pata_artop.c
> +++ b/drivers/ata/pata_artop.c
> @@ -28,7 +28,7 @@
>  #include <linux/ata.h>
>  
>  #define DRV_NAME	"pata_artop"
> -#define DRV_VERSION	"0.4.7"
> +#define DRV_VERSION	"0.4.8"
>  
>  /*
>   *	The ARTOP has 33 Mhz and "over clocked" timing tables. Until we
> @@ -315,12 +315,15 @@ static struct ata_port_operations artop6260_ops = {
>  
>  static void atp8xx_fixup(struct pci_dev *pdev)
>  {
> -	if (pdev->device == 0x0005)
> +	u8 reg;
> +
> +	switch (pdev->device) {
> +	case 0x0005:
>  		/* BIOS may have left us in UDMA, clear it before libata probe */
>  		pci_write_config_byte(pdev, 0x54, 0);
> -	else if (pdev->device == 0x0008 || pdev->device == 0x0009) {
> -		u8 reg;
> -
> +		break;
> +	case 0x0008:
> +	case 0x0009:
>  		/* Mac systems come up with some registers not set as we
>  		   will need them */
>  
> @@ -338,6 +341,7 @@ static void atp8xx_fixup(struct pci_dev *pdev)
>  		/* Enable IRQ output and burst mode */
>  		pci_read_config_byte(pdev, 0x4a, &reg);
>  		pci_write_config_byte(pdev, 0x4a, (reg & ~0x01) | 0x80);
> +		break;
>  	}

without a default case, isn't there a warning with make W=1 or make C=1
(sparse) ?


>  }
>
Sergey Shtylyov Feb. 9, 2022, 11:34 p.m. UTC | #2
On 2/10/22 2:29 AM, Damien Le Moal wrote:

>> This driver uses a string of the *if* statements in atp8xx_fixup() where
>> a *switch* statement would fit better...
>>
>> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
>> ---
>>
>> Changes in version 5:
>> - fixed up #define DRV_VERSION;
>> - added "ata: " prefix to the patch subject.
>>
>> Changes in version 4:
>> - new patch.
>>
>>  drivers/ata/pata_artop.c | 14 +++++++++-----
>>  1 file changed, 9 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c
>> index 08e88403d0ab..20a8f31a3f57 100644
>> --- a/drivers/ata/pata_artop.c
>> +++ b/drivers/ata/pata_artop.c
>> @@ -28,7 +28,7 @@
>>  #include <linux/ata.h>
>>  
>>  #define DRV_NAME	"pata_artop"
>> -#define DRV_VERSION	"0.4.7"
>> +#define DRV_VERSION	"0.4.8"
>>  
>>  /*
>>   *	The ARTOP has 33 Mhz and "over clocked" timing tables. Until we
>> @@ -315,12 +315,15 @@ static struct ata_port_operations artop6260_ops = {
>>  
>>  static void atp8xx_fixup(struct pci_dev *pdev)
>>  {
>> -	if (pdev->device == 0x0005)
>> +	u8 reg;
>> +
>> +	switch (pdev->device) {
>> +	case 0x0005:
>>  		/* BIOS may have left us in UDMA, clear it before libata probe */
>>  		pci_write_config_byte(pdev, 0x54, 0);
>> -	else if (pdev->device == 0x0008 || pdev->device == 0x0009) {
>> -		u8 reg;
>> -
>> +		break;
>> +	case 0x0008:
>> +	case 0x0009:
>>  		/* Mac systems come up with some registers not set as we
>>  		   will need them */
>>  
>> @@ -338,6 +341,7 @@ static void atp8xx_fixup(struct pci_dev *pdev)
>>  		/* Enable IRQ output and burst mode */
>>  		pci_read_config_byte(pdev, 0x4a, &reg);
>>  		pci_write_config_byte(pdev, 0x4a, (reg & ~0x01) | 0x80);
>> +		break;
>>  	}
> 
> without a default case, isn't there a warning with make W=1

   No. I thought *default* makes sense only for *enum*s...

> or make C=1
> (sparse) ?

   Still no. :-P

[...]

MNR.Sergey
diff mbox series

Patch

diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c
index 08e88403d0ab..20a8f31a3f57 100644
--- a/drivers/ata/pata_artop.c
+++ b/drivers/ata/pata_artop.c
@@ -28,7 +28,7 @@ 
 #include <linux/ata.h>
 
 #define DRV_NAME	"pata_artop"
-#define DRV_VERSION	"0.4.7"
+#define DRV_VERSION	"0.4.8"
 
 /*
  *	The ARTOP has 33 Mhz and "over clocked" timing tables. Until we
@@ -315,12 +315,15 @@  static struct ata_port_operations artop6260_ops = {
 
 static void atp8xx_fixup(struct pci_dev *pdev)
 {
-	if (pdev->device == 0x0005)
+	u8 reg;
+
+	switch (pdev->device) {
+	case 0x0005:
 		/* BIOS may have left us in UDMA, clear it before libata probe */
 		pci_write_config_byte(pdev, 0x54, 0);
-	else if (pdev->device == 0x0008 || pdev->device == 0x0009) {
-		u8 reg;
-
+		break;
+	case 0x0008:
+	case 0x0009:
 		/* Mac systems come up with some registers not set as we
 		   will need them */
 
@@ -338,6 +341,7 @@  static void atp8xx_fixup(struct pci_dev *pdev)
 		/* Enable IRQ output and burst mode */
 		pci_read_config_byte(pdev, 0x4a, &reg);
 		pci_write_config_byte(pdev, 0x4a, (reg & ~0x01) | 0x80);
+		break;
 	}
 }