Re: [PATCH] pata_falcon: Add missing __iomem annotations
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2021-11-24 07:51:42
Also in:
lkml
Hi Finn, On Wed, Nov 24, 2021 at 8:36 AM Finn Thain [off-list ref] 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 use of __iomem type casts. Cc: Michael Schmitz <schmitzmic@gmail.com> Cc: Bartlomiej Zolnierkiewicz <redacted> Cc: Jens Axboe <axboe@kernel.dk> Reported-by: kernel test robot <redacted> Signed-off-by: Finn Thain <fthain@linux-m68k.org>
Thanks for your patch!
quoted hunk ↗ jump to hunk
--- 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((u16 __iomem *)data_addr, (u16 *)buf, words); else - raw_insw((u16 *)data_addr, (u16 *)buf, words); + raw_insw((u16 __iomem *)data_addr, (u16 *)buf, words); } else { if (swap) - raw_outsw_swapw((u16 *)data_addr, (u16 *)buf, words); + raw_outsw_swapw((u16 __iomem *)data_addr, (u16 *)buf, words); else - raw_outsw((u16 *)data_addr, (u16 *)buf, words); + raw_outsw((u16 __iomem *)data_addr, (u16 *)buf, words);
Can't you just drop the casts? data_addr is an __iomem void *.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
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