2024-03-22 13:43:33

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] media: rcar-vin: work around -Wenum-compare-conditional warning

From: Arnd Bergmann <[email protected]>

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 <[email protected]>
---
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



2024-03-22 13:46:17

by Niklas Söderlund

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

Hi Arnd,

Thanks for your work.

On 2024-03-22 14:33:46 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 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 <[email protected]>

Reviewed-by: Niklas Söderlund <[email protected]>

> ---
> 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