| Message ID | 20260518095708.2502537-2-chin-ting_kuo@aspeedtech.com |
|---|---|
| State | New |
| Headers | show |
| Series | spi: aspeed: Fix __iomem annotation and VLA parameter | expand |
On 5/18/26 11:57, Chin-Ting Kuo wrote: > The dst parameter of aspeed_spi_user_transfer_tx() is an MMIO address > obtained from chip->ahb_base, but it was typed as void * instead of > void __iomem *. This caused a sparse warning report. Fix the > parameter type to void __iomem * and drop the now-unnecessary > cast at the call site. > > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202605180441.uD3toFRJ-lkp@intel.com/ > Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com> > --- > drivers/spi/spi-aspeed-smc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-aspeed-smc.c b/drivers/spi/spi-aspeed-smc.c > index c21323e07d3c..808659a1f460 100644 > --- a/drivers/spi/spi-aspeed-smc.c > +++ b/drivers/spi/spi-aspeed-smc.c > @@ -891,7 +891,7 @@ static int aspeed_spi_user_unprepare_msg(struct spi_controller *ctlr, > static void aspeed_spi_user_transfer_tx(struct aspeed_spi *aspi, > struct spi_device *spi, > const u8 *tx_buf, u8 *rx_buf, > - void *dst, u32 len) > + void __iomem *dst, u32 len) > { > const struct aspeed_spi_data *data = aspi->data; > bool full_duplex_transfer = data->full_duplex && tx_buf == rx_buf; > @@ -936,7 +936,7 @@ static int aspeed_spi_user_transfer(struct spi_controller *ctlr, > aspeed_spi_set_io_mode(chip, CTRL_IO_QUAD_DATA); > > aspeed_spi_user_transfer_tx(aspi, spi, tx_buf, rx_buf, > - (void *)ahb_base, xfer->len); > + ahb_base, xfer->len); > } > > if (rx_buf && rx_buf != tx_buf) { Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C.
diff --git a/drivers/spi/spi-aspeed-smc.c b/drivers/spi/spi-aspeed-smc.c index c21323e07d3c..808659a1f460 100644 --- a/drivers/spi/spi-aspeed-smc.c +++ b/drivers/spi/spi-aspeed-smc.c @@ -891,7 +891,7 @@ static int aspeed_spi_user_unprepare_msg(struct spi_controller *ctlr, static void aspeed_spi_user_transfer_tx(struct aspeed_spi *aspi, struct spi_device *spi, const u8 *tx_buf, u8 *rx_buf, - void *dst, u32 len) + void __iomem *dst, u32 len) { const struct aspeed_spi_data *data = aspi->data; bool full_duplex_transfer = data->full_duplex && tx_buf == rx_buf; @@ -936,7 +936,7 @@ static int aspeed_spi_user_transfer(struct spi_controller *ctlr, aspeed_spi_set_io_mode(chip, CTRL_IO_QUAD_DATA); aspeed_spi_user_transfer_tx(aspi, spi, tx_buf, rx_buf, - (void *)ahb_base, xfer->len); + ahb_base, xfer->len); } if (rx_buf && rx_buf != tx_buf) {
The dst parameter of aspeed_spi_user_transfer_tx() is an MMIO address obtained from chip->ahb_base, but it was typed as void * instead of void __iomem *. This caused a sparse warning report. Fix the parameter type to void __iomem * and drop the now-unnecessary cast at the call site. Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202605180441.uD3toFRJ-lkp@intel.com/ Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com> --- drivers/spi/spi-aspeed-smc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)