2023-08-10 10:08:11

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH] gpio: mxs: fix Wvoid-pointer-to-enum-cast warning

'devid' is an enum, thus cast of pointer on 64-bit compile test with W=1
causes:

gpio-mxs.c:274:16: error: cast to smaller integer type 'enum mxs_gpio_id' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/gpio/gpio-mxs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c
index 8e04c9c4b5a2..024ad077e98d 100644
--- a/drivers/gpio/gpio-mxs.c
+++ b/drivers/gpio/gpio-mxs.c
@@ -271,7 +271,7 @@ static int mxs_gpio_probe(struct platform_device *pdev)
port->id = of_alias_get_id(np, "gpio");
if (port->id < 0)
return port->id;
- port->devid = (enum mxs_gpio_id)of_device_get_match_data(&pdev->dev);
+ port->devid = (uintptr_t)of_device_get_match_data(&pdev->dev);
port->dev = &pdev->dev;
port->irq = platform_get_irq(pdev, 0);
if (port->irq < 0)
--
2.34.1



2023-08-10 12:04:11

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] gpio: mxs: fix Wvoid-pointer-to-enum-cast warning

On Thu, Aug 10, 2023 at 12:59 PM Krzysztof Kozlowski
<[email protected]> wrote:
>
> 'devid' is an enum, thus cast of pointer on 64-bit compile test with W=1
> causes:
>
> gpio-mxs.c:274:16: error: cast to smaller integer type 'enum mxs_gpio_id' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Reviewed-by: Andy Shevchenko <[email protected]>

--
With Best Regards,
Andy Shevchenko

2023-08-11 15:28:46

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH] gpio: mxs: fix Wvoid-pointer-to-enum-cast warning

On Thu, Aug 10, 2023 at 11:59 AM Krzysztof Kozlowski
<[email protected]> wrote:
>
> 'devid' is an enum, thus cast of pointer on 64-bit compile test with W=1
> causes:
>
> gpio-mxs.c:274:16: error: cast to smaller integer type 'enum mxs_gpio_id' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/gpio/gpio-mxs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c
> index 8e04c9c4b5a2..024ad077e98d 100644
> --- a/drivers/gpio/gpio-mxs.c
> +++ b/drivers/gpio/gpio-mxs.c
> @@ -271,7 +271,7 @@ static int mxs_gpio_probe(struct platform_device *pdev)
> port->id = of_alias_get_id(np, "gpio");
> if (port->id < 0)
> return port->id;
> - port->devid = (enum mxs_gpio_id)of_device_get_match_data(&pdev->dev);
> + port->devid = (uintptr_t)of_device_get_match_data(&pdev->dev);
> port->dev = &pdev->dev;
> port->irq = platform_get_irq(pdev, 0);
> if (port->irq < 0)
> --
> 2.34.1
>

Applied, thanks!

Bart