2022-06-29 10:11:36

by John Garry

[permalink] [raw]
Subject: [PATCH v2] ata: pata_cs5535: Fix W=1 warnings

x86_64 allmodconfig build with W=1 gives these warnings:

drivers/ata/pata_cs5535.c: In function ‘cs5535_set_piomode’:
drivers/ata/pata_cs5535.c:93:11: error: variable ‘dummy’ set but not used [-Werror=unused-but-set-variable]
u32 reg, dummy;
^~~~~
drivers/ata/pata_cs5535.c: In function ‘cs5535_set_dmamode’:
drivers/ata/pata_cs5535.c:132:11: error: variable ‘dummy’ set but not used [-Werror=unused-but-set-variable]
u32 reg, dummy;
^~~~~
cc1: all warnings being treated as errors

Mark variables 'dummy' as "maybe unused" as they are only ever written in
rdmsr() calls.

Signed-off-by: John Garry <[email protected]>
Reviewed-by: Sergey Shtylyov <[email protected]>
---
Differences to v1:
- Add RB tag (thanks!)
- Fix commit message

diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c
index 6725931f3c35..c2c3238ff84b 100644
--- a/drivers/ata/pata_cs5535.c
+++ b/drivers/ata/pata_cs5535.c
@@ -90,7 +90,7 @@ static void cs5535_set_piomode(struct ata_port *ap, struct ata_device *adev)
static const u16 pio_cmd_timings[5] = {
0xF7F4, 0x53F3, 0x13F1, 0x5131, 0x1131
};
- u32 reg, dummy;
+ u32 reg, __maybe_unused dummy;
struct ata_device *pair = ata_dev_pair(adev);

int mode = adev->pio_mode - XFER_PIO_0;
@@ -129,7 +129,7 @@ static void cs5535_set_dmamode(struct ata_port *ap, struct ata_device *adev)
static const u32 mwdma_timings[3] = {
0x7F0FFFF3, 0x7F035352, 0x7F024241
};
- u32 reg, dummy;
+ u32 reg, __maybe_unused dummy;
int mode = adev->dma_mode;

rdmsr(ATAC_CH0D0_DMA + 2 * adev->devno, reg, dummy);
--
2.35.3


2022-06-29 11:26:44

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v2] ata: pata_cs5535: Fix W=1 warnings

On 6/29/22 18:18, John Garry wrote:
> x86_64 allmodconfig build with W=1 gives these warnings:
>
> drivers/ata/pata_cs5535.c: In function ‘cs5535_set_piomode’:
> drivers/ata/pata_cs5535.c:93:11: error: variable ‘dummy’ set but not used [-Werror=unused-but-set-variable]
> u32 reg, dummy;
> ^~~~~
> drivers/ata/pata_cs5535.c: In function ‘cs5535_set_dmamode’:
> drivers/ata/pata_cs5535.c:132:11: error: variable ‘dummy’ set but not used [-Werror=unused-but-set-variable]
> u32 reg, dummy;
> ^~~~~
> cc1: all warnings being treated as errors
>
> Mark variables 'dummy' as "maybe unused" as they are only ever written in
> rdmsr() calls.
>
> Signed-off-by: John Garry <[email protected]>
> Reviewed-by: Sergey Shtylyov <[email protected]>

Updated for-5.20. Thanks !

> ---
> Differences to v1:
> - Add RB tag (thanks!)
> - Fix commit message
>
> diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c
> index 6725931f3c35..c2c3238ff84b 100644
> --- a/drivers/ata/pata_cs5535.c
> +++ b/drivers/ata/pata_cs5535.c
> @@ -90,7 +90,7 @@ static void cs5535_set_piomode(struct ata_port *ap, struct ata_device *adev)
> static const u16 pio_cmd_timings[5] = {
> 0xF7F4, 0x53F3, 0x13F1, 0x5131, 0x1131
> };
> - u32 reg, dummy;
> + u32 reg, __maybe_unused dummy;
> struct ata_device *pair = ata_dev_pair(adev);
>
> int mode = adev->pio_mode - XFER_PIO_0;
> @@ -129,7 +129,7 @@ static void cs5535_set_dmamode(struct ata_port *ap, struct ata_device *adev)
> static const u32 mwdma_timings[3] = {
> 0x7F0FFFF3, 0x7F035352, 0x7F024241
> };
> - u32 reg, dummy;
> + u32 reg, __maybe_unused dummy;
> int mode = adev->dma_mode;
>
> rdmsr(ATAC_CH0D0_DMA + 2 * adev->devno, reg, dummy);


--
Damien Le Moal
Western Digital Research