Re: [PATCH 1/1] spi: cadence-quadspi: Fix a compilation warning for 64-bit platform

From: Pratyush Yadav
Date: Tue Jan 12 2021 - 05:18:40 EST


Hi Zhen,

On 12/01/21 06:06PM, Zhen Lei wrote:
> The __typecheck() requires that the two arguments of max() must be of the
> same type. For the current max(), the type of the first parameter "len" is
> size_t. But the type of size_t is not fixed, it's "unsigned int" on 32-bit
> platforms and "unsigned long" on 64-bit platforms. So both the suffix "U"
> and "UL" are not appropriate for the second constant parameter. Therefore,
> forcible type conversion is used.
>
> Fixes: 8728a81b8f10 ("spi: Fix distinct pointer types warning for ARCH=mips")
> Fixes: 0920a32cf6f2 ("spi: cadence-quadspi: Wait at least 500 ms for direct reads")
> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
> ---
> drivers/spi/spi-cadence-quadspi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
> index 576610ba11184c6..eb40b8d46b56b0c 100644
> --- a/drivers/spi/spi-cadence-quadspi.c
> +++ b/drivers/spi/spi-cadence-quadspi.c
> @@ -1150,7 +1150,7 @@ static int cqspi_direct_read_execute(struct cqspi_flash_pdata *f_pdata,
>
> dma_async_issue_pending(cqspi->rx_chan);
> if (!wait_for_completion_timeout(&cqspi->rx_dma_complete,
> - msecs_to_jiffies(max(len, 500U)))) {
> + msecs_to_jiffies(max_t(size_t, len, 500)))) {

I sent a patch with this exact fix already [0]. It has made it in Mark's
for-next branch.

[0] https://lore.kernel.org/linux-spi/20210108181457.30291-1-p.yadav@xxxxxx/

> dmaengine_terminate_sync(cqspi->rx_chan);
> dev_err(dev, "DMA wait_for_completion_timeout\n");
> ret = -ETIMEDOUT;
> --
> 1.8.3
>
>

--
Regards,
Pratyush Yadav
Texas Instruments India