2023-08-10 11:22:10

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/2] drm/bridge: adv7511: fix Wvoid-pointer-to-enum-cast warning

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

adv7511_drv.c:1214:19: error: cast to smaller integer type 'enum adv7511_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

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

diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
index 2611afd2c1c1..0e284f379602 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
@@ -1211,7 +1211,7 @@ static int adv7511_probe(struct i2c_client *i2c)
adv7511->status = connector_status_disconnected;

if (dev->of_node)
- adv7511->type = (enum adv7511_type)of_device_get_match_data(dev);
+ adv7511->type = (uintptr_t)of_device_get_match_data(dev);
else
adv7511->type = id->driver_data;

--
2.34.1



2023-08-10 12:04:29

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 1/2] drm/bridge: adv7511: fix Wvoid-pointer-to-enum-cast warning

Hi Krzysztof,

Thank you for the patch.

On Thu, Aug 10, 2023 at 11:59:22AM +0200, Krzysztof Kozlowski wrote:
> 'type' is an enum, thus cast of pointer on 64-bit compile test with W=1
> causes:
>
> adv7511_drv.c:1214:19: error: cast to smaller integer type 'enum adv7511_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> index 2611afd2c1c1..0e284f379602 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> @@ -1211,7 +1211,7 @@ static int adv7511_probe(struct i2c_client *i2c)
> adv7511->status = connector_status_disconnected;
>
> if (dev->of_node)
> - adv7511->type = (enum adv7511_type)of_device_get_match_data(dev);
> + adv7511->type = (uintptr_t)of_device_get_match_data(dev);
> else
> adv7511->type = id->driver_data;
>

--
Regards,

Laurent Pinchart

2023-08-11 14:13:53

by Robert Foss

[permalink] [raw]
Subject: Re: [PATCH 1/2] drm/bridge: adv7511: fix Wvoid-pointer-to-enum-cast warning

On Thu, Aug 10, 2023 at 12:12 PM Laurent Pinchart
<[email protected]> wrote:
>
> Hi Krzysztof,
>
> Thank you for the patch.
>
> On Thu, Aug 10, 2023 at 11:59:22AM +0200, Krzysztof Kozlowski wrote:
> > 'type' is an enum, thus cast of pointer on 64-bit compile test with W=1
> > causes:
> >
> > adv7511_drv.c:1214:19: error: cast to smaller integer type 'enum adv7511_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]
> >
> > Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> Reviewed-by: Laurent Pinchart <[email protected]>
>
> > ---
> > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > index 2611afd2c1c1..0e284f379602 100644
> > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > @@ -1211,7 +1211,7 @@ static int adv7511_probe(struct i2c_client *i2c)
> > adv7511->status = connector_status_disconnected;
> >
> > if (dev->of_node)
> > - adv7511->type = (enum adv7511_type)of_device_get_match_data(dev);
> > + adv7511->type = (uintptr_t)of_device_get_match_data(dev);
> > else
> > adv7511->type = id->driver_data;
> >
>
> --
> Regards,
>
> Laurent Pinchart
>

Ack for drm/bridge part.

Acked-by: Robert Foss <[email protected]>