Re: [PATCH] spi: spi-fsl-lpspi: convert min_t() to simple min()
From: david laight
Date: Tue Dec 09 2025 - 14:21:36 EST
On Tue, 9 Dec 2025 13:56:34 +0800
Carlos Song <carlos.song@xxxxxxx> wrote:
> Convert min_t() to simple min() for better readability.
>
> Fixes: 9f0c21bac5a8 ("spi: spi-fsl-lpspi: fix watermark truncation caused by type cast")
> Signed-off-by: Carlos Song <carlos.song@xxxxxxx>
> ---
> drivers/spi/spi-fsl-lpspi.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
> index 065456aba2ae..01c674d466ed 100644
> --- a/drivers/spi/spi-fsl-lpspi.c
> +++ b/drivers/spi/spi-fsl-lpspi.c
> @@ -489,12 +489,9 @@ static int fsl_lpspi_setup_transfer(struct spi_controller *controller,
> /*
> * 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.
> + * it caused wrong watermark set. Simple min() helps to do type cast.
> */
That comment doesn't make any sense and can probably be deleted.
I'm not sure its did before either.
Looks like it was added because the code was originally min_t(u8, ...),
even then I looks like text for the commit message not a code comment.
With the current version of min() no casts are required, the comparison
uses the normal integer promotion rules, so u8 => int => unsigned int.
min() allows the comparison because both variables are unsigned.
David
> - 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;