[PATCH 1/3] i2c: bcm-iproc: Fix Wvoid-pointer-to-enum-cast warning
Andi Shyti
andi.shyti at kernel.org
Wed Dec 3 09:38:18 PST 2025
Hi Krzk,
All three patches merged to i2c/i2c-host.
Thanks,
Andi
On Wed, Nov 26, 2025 at 07:22:58PM +0100, Krzysztof Kozlowski wrote:
> 'type' is an enum, thus cast of pointer on 64-bit compile test with
> clang and W=1 causes:
>
> i2c-bcm-iproc.c:1102:3: error: cast to smaller integer type 'enum bcm_iproc_i2c_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]
>
> One of the discussions in 2023 on LKML suggested warning is not suitable
> for kernel. Nothing changed in this regard since that time, so assume
> the warning will stay and we want to have warnings-free builds.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at oss.qualcomm.com>
>
> ---
>
> kernel_ulong_t is the preferred cast for such cases.
> ---
> drivers/i2c/busses/i2c-bcm-iproc.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c
> index e418a4f23f15..b5629cffe99b 100644
> --- a/drivers/i2c/busses/i2c-bcm-iproc.c
> +++ b/drivers/i2c/busses/i2c-bcm-iproc.c
> @@ -1098,8 +1098,7 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
>
> platform_set_drvdata(pdev, iproc_i2c);
> iproc_i2c->device = &pdev->dev;
> - iproc_i2c->type =
> - (enum bcm_iproc_i2c_type)of_device_get_match_data(&pdev->dev);
> + iproc_i2c->type = (kernel_ulong_t)of_device_get_match_data(&pdev->dev);
> init_completion(&iproc_i2c->done);
>
> iproc_i2c->base = devm_platform_ioremap_resource(pdev, 0);
> --
> 2.48.1
>
More information about the linux-arm-kernel
mailing list