Re: [PATCH] media: rcar-vin: work around -Wenum-compare-conditional warning

From: Niklas Söderlund
Date: Fri Mar 22 2024 - 09:45:05 EST


Hi Arnd,

Thanks for your work.

On 2024-03-22 14:33:46 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> clang-19 warns about mixing two enum types here:
>
> drivers/media/platform/renesas/rcar-vin/rcar-vin.h:296:12: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
> drivers/media/platform/renesas/rcar-vin/rcar-core.c:216:18: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
> drivers/media/platform/renesas/rcar-vin/rcar-vin.h:296:12: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
> drivers/media/platform/renesas/rcar-vin/rcar-vin.h:296:12: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
>
> This one is intentional, and there is already a cast to work around another
> warning, so address this by adding another cast.
>
> Fixes: 406bb586dec0 ("media: rcar-vin: Add r8a779a0 support")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>

> ---
> There are only a couple of -Wenum-compare-conditional warnings in the tree,
> so it seems best to just address them all instead of turning off the warning
> globally.
> ---
> drivers/media/platform/renesas/rcar-vin/rcar-vin.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-vin.h b/drivers/media/platform/renesas/rcar-vin/rcar-vin.h
> index 792336dada44..997a66318a29 100644
> --- a/drivers/media/platform/renesas/rcar-vin/rcar-vin.h
> +++ b/drivers/media/platform/renesas/rcar-vin/rcar-vin.h
> @@ -59,7 +59,7 @@ enum rvin_isp_id {
>
> #define RVIN_REMOTES_MAX \
> (((unsigned int)RVIN_CSI_MAX) > ((unsigned int)RVIN_ISP_MAX) ? \
> - RVIN_CSI_MAX : RVIN_ISP_MAX)
> + (unsigned int)RVIN_CSI_MAX : (unsigned int)RVIN_ISP_MAX)
>
> /**
> * enum rvin_dma_state - DMA states
> --
> 2.39.2
>

--
Kind Regards,
Niklas Söderlund