2021-11-25 22:38:49

by Finn Thain

[permalink] [raw]
Subject: [PATCH v2] pata_falcon: Avoid type warnings from sparse

The zero day bot reported some sparse complaints in pata_falcon.c. E.g.

drivers/ata/pata_falcon.c:58:41: warning: cast removes address space '__iomem' of expression
drivers/ata/pata_falcon.c:58:41: warning: incorrect type in argument 1 (different address spaces)
drivers/ata/pata_falcon.c:58:41: expected unsigned short volatile [noderef] [usertype] __iomem *port
drivers/ata/pata_falcon.c:58:41: got unsigned short [usertype] *

The same thing shows up in 8 places, all told. Avoid this by removing
unnecessary type casts.

Cc: Jens Axboe <[email protected]>
Cc: Michael Schmitz <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Reported-by: kernel test robot <[email protected]>
Suggested-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Finn Thain <[email protected]>
---
drivers/ata/pata_falcon.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/ata/pata_falcon.c b/drivers/ata/pata_falcon.c
index 121635aa8c00..823c88622e34 100644
--- a/drivers/ata/pata_falcon.c
+++ b/drivers/ata/pata_falcon.c
@@ -55,14 +55,14 @@ static unsigned int pata_falcon_data_xfer(struct ata_queued_cmd *qc,
/* Transfer multiple of 2 bytes */
if (rw == READ) {
if (swap)
- raw_insw_swapw((u16 *)data_addr, (u16 *)buf, words);
+ raw_insw_swapw(data_addr, (u16 *)buf, words);
else
- raw_insw((u16 *)data_addr, (u16 *)buf, words);
+ raw_insw(data_addr, (u16 *)buf, words);
} else {
if (swap)
- raw_outsw_swapw((u16 *)data_addr, (u16 *)buf, words);
+ raw_outsw_swapw(data_addr, (u16 *)buf, words);
else
- raw_outsw((u16 *)data_addr, (u16 *)buf, words);
+ raw_outsw(data_addr, (u16 *)buf, words);
}

/* Transfer trailing byte, if any. */
@@ -74,16 +74,16 @@ static unsigned int pata_falcon_data_xfer(struct ata_queued_cmd *qc,

if (rw == READ) {
if (swap)
- raw_insw_swapw((u16 *)data_addr, (u16 *)pad, 1);
+ raw_insw_swapw(data_addr, (u16 *)pad, 1);
else
- raw_insw((u16 *)data_addr, (u16 *)pad, 1);
+ raw_insw(data_addr, (u16 *)pad, 1);
*buf = pad[0];
} else {
pad[0] = *buf;
if (swap)
- raw_outsw_swapw((u16 *)data_addr, (u16 *)pad, 1);
+ raw_outsw_swapw(data_addr, (u16 *)pad, 1);
else
- raw_outsw((u16 *)data_addr, (u16 *)pad, 1);
+ raw_outsw(data_addr, (u16 *)pad, 1);
}
words++;
}
--
2.26.3



2021-11-29 07:47:59

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v2] pata_falcon: Avoid type warnings from sparse

On 2021/11/26 7:34, Finn Thain wrote:
> The zero day bot reported some sparse complaints in pata_falcon.c. E.g.
>
> drivers/ata/pata_falcon.c:58:41: warning: cast removes address space '__iomem' of expression
> drivers/ata/pata_falcon.c:58:41: warning: incorrect type in argument 1 (different address spaces)
> drivers/ata/pata_falcon.c:58:41: expected unsigned short volatile [noderef] [usertype] __iomem *port
> drivers/ata/pata_falcon.c:58:41: got unsigned short [usertype] *
>
> The same thing shows up in 8 places, all told. Avoid this by removing
> unnecessary type casts.
>
> Cc: Jens Axboe <[email protected]>
> Cc: Michael Schmitz <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Suggested-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Finn Thain <[email protected]>
> ---
> drivers/ata/pata_falcon.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/ata/pata_falcon.c b/drivers/ata/pata_falcon.c
> index 121635aa8c00..823c88622e34 100644
> --- a/drivers/ata/pata_falcon.c
> +++ b/drivers/ata/pata_falcon.c
> @@ -55,14 +55,14 @@ static unsigned int pata_falcon_data_xfer(struct ata_queued_cmd *qc,
> /* Transfer multiple of 2 bytes */
> if (rw == READ) {
> if (swap)
> - raw_insw_swapw((u16 *)data_addr, (u16 *)buf, words);
> + raw_insw_swapw(data_addr, (u16 *)buf, words);
> else
> - raw_insw((u16 *)data_addr, (u16 *)buf, words);
> + raw_insw(data_addr, (u16 *)buf, words);
> } else {
> if (swap)
> - raw_outsw_swapw((u16 *)data_addr, (u16 *)buf, words);
> + raw_outsw_swapw(data_addr, (u16 *)buf, words);
> else
> - raw_outsw((u16 *)data_addr, (u16 *)buf, words);
> + raw_outsw(data_addr, (u16 *)buf, words);
> }
>
> /* Transfer trailing byte, if any. */
> @@ -74,16 +74,16 @@ static unsigned int pata_falcon_data_xfer(struct ata_queued_cmd *qc,
>
> if (rw == READ) {
> if (swap)
> - raw_insw_swapw((u16 *)data_addr, (u16 *)pad, 1);
> + raw_insw_swapw(data_addr, (u16 *)pad, 1);
> else
> - raw_insw((u16 *)data_addr, (u16 *)pad, 1);
> + raw_insw(data_addr, (u16 *)pad, 1);
> *buf = pad[0];
> } else {
> pad[0] = *buf;
> if (swap)
> - raw_outsw_swapw((u16 *)data_addr, (u16 *)pad, 1);
> + raw_outsw_swapw(data_addr, (u16 *)pad, 1);
> else
> - raw_outsw((u16 *)data_addr, (u16 *)pad, 1);
> + raw_outsw(data_addr, (u16 *)pad, 1);
> }
> words++;
> }
>

Geert,

If your are OK with this version, please send a review tag. Thanks.

--
Damien Le Moal
Western Digital Research

2021-11-29 08:22:16

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v2] pata_falcon: Avoid type warnings from sparse

On Thu, Nov 25, 2021 at 11:36 PM Finn Thain <[email protected]> wrote:
> The zero day bot reported some sparse complaints in pata_falcon.c. E.g.
>
> drivers/ata/pata_falcon.c:58:41: warning: cast removes address space '__iomem' of expression
> drivers/ata/pata_falcon.c:58:41: warning: incorrect type in argument 1 (different address spaces)
> drivers/ata/pata_falcon.c:58:41: expected unsigned short volatile [noderef] [usertype] __iomem *port
> drivers/ata/pata_falcon.c:58:41: got unsigned short [usertype] *
>
> The same thing shows up in 8 places, all told. Avoid this by removing
> unnecessary type casts.
>
> Cc: Jens Axboe <[email protected]>
> Cc: Michael Schmitz <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Suggested-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Finn Thain <[email protected]>

Reviewed-by: Geert Uytterhoeven <[email protected]>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2021-11-29 11:41:46

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v2] pata_falcon: Avoid type warnings from sparse

On 2021/11/26 7:34, Finn Thain wrote:
> The zero day bot reported some sparse complaints in pata_falcon.c. E.g.
>
> drivers/ata/pata_falcon.c:58:41: warning: cast removes address space '__iomem' of expression
> drivers/ata/pata_falcon.c:58:41: warning: incorrect type in argument 1 (different address spaces)
> drivers/ata/pata_falcon.c:58:41: expected unsigned short volatile [noderef] [usertype] __iomem *port
> drivers/ata/pata_falcon.c:58:41: got unsigned short [usertype] *
>
> The same thing shows up in 8 places, all told. Avoid this by removing
> unnecessary type casts.
>
> Cc: Jens Axboe <[email protected]>
> Cc: Michael Schmitz <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Suggested-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Finn Thain <[email protected]>

Applied to for-5.16-fixes. Thanks.


--
Damien Le Moal
Western Digital Research