drivers/spi/spi-fsl-lpspi.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)
Current min() has supported comparison by normal integer promotion rules,
so explicit type casts or min_t() are not needed.
Fixes: 9f0c21bac5a8 ("spi: spi-fsl-lpspi: fix watermark truncation caused by type cast")
Signed-off-by: Carlos Song <carlos.song@nxp.com>
---
Change since v1:
* remove unused comment according to David's comment
* improve commit log according to Frank's comment
---
drivers/spi/spi-fsl-lpspi.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index 065456aba2ae..8f45ead23836 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -486,15 +486,7 @@ static int fsl_lpspi_setup_transfer(struct spi_controller *controller,
fsl_lpspi->tx = fsl_lpspi_buf_tx_u32;
}
- /*
- * t->len is 'unsigned' and txfifosize and watermrk is 'u8', force
- * type cast is inevitable. When len > 255, len will be truncated in min_t(),
- * it caused wrong watermark set. 'unsigned int' is as the designated type
- * for min_t() to avoid truncation.
- */
- fsl_lpspi->watermark = min_t(unsigned int,
- fsl_lpspi->txfifosize,
- t->len);
+ fsl_lpspi->watermark = min(fsl_lpspi->txfifosize, t->len);
if (fsl_lpspi_can_dma(controller, spi, t))
fsl_lpspi->usedma = true;
--
2.34.1
On Wed, 10 Dec 2025 15:41:15 +0800
Carlos Song <carlos.song@nxp.com> wrote:
> Current min() has supported comparison by normal integer promotion rules,
> so explicit type casts or min_t() are not needed.
>
> Fixes: 9f0c21bac5a8 ("spi: spi-fsl-lpspi: fix watermark truncation caused by type cast")
I don't think it needs a 'Fixes' tag since it is just a cleanup, but apart from that:
Reviewed-by: David Laight <david.laight.linux@gmail.com>
> Signed-off-by: Carlos Song <carlos.song@nxp.com>
> ---
> Change since v1:
> * remove unused comment according to David's comment
> * improve commit log according to Frank's comment
> ---
> drivers/spi/spi-fsl-lpspi.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
> index 065456aba2ae..8f45ead23836 100644
> --- a/drivers/spi/spi-fsl-lpspi.c
> +++ b/drivers/spi/spi-fsl-lpspi.c
> @@ -486,15 +486,7 @@ static int fsl_lpspi_setup_transfer(struct spi_controller *controller,
> fsl_lpspi->tx = fsl_lpspi_buf_tx_u32;
> }
>
> - /*
> - * t->len is 'unsigned' and txfifosize and watermrk is 'u8', force
> - * type cast is inevitable. When len > 255, len will be truncated in min_t(),
> - * it caused wrong watermark set. 'unsigned int' is as the designated type
> - * for min_t() to avoid truncation.
> - */
> - fsl_lpspi->watermark = min_t(unsigned int,
> - fsl_lpspi->txfifosize,
> - t->len);
> + fsl_lpspi->watermark = min(fsl_lpspi->txfifosize, t->len);
>
> if (fsl_lpspi_can_dma(controller, spi, t))
> fsl_lpspi->usedma = true;
© 2016 - 2025 Red Hat, Inc.