From: Krzysztof Kozlowski > Sent: 10 August 2023 10:32 > > 'chip' is an enum, thus cast of pointer on 64-bit compile test with W=1 > causes: > > ina2xx.c:627:10: error: cast to smaller integer type 'enum ina2xx_ids' from 'const void *' [- > Werror,-Wvoid-pointer-to-enum-cast] > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > --- > drivers/hwmon/ina2xx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c > index a47973e2d606..d8415d1f21fc 100644 > --- a/drivers/hwmon/ina2xx.c > +++ b/drivers/hwmon/ina2xx.c > @@ -624,7 +624,7 @@ static int ina2xx_probe(struct i2c_client *client) > enum ina2xx_ids chip; > > if (client->dev.of_node) > -chip = (enum ina2xx_ids)of_device_get_match_data(&client->dev); > +chip = (uintptr_t)of_device_get_match_data(&client->dev); The kernel type would be 'long' not uintptr_t. But this all looks like something horrid is being done. (And you've clearly lost all the tabs) David > else > chip = i2c_match_id(ina2xx_id, client)->driver_data; > > -- > 2.34.1 > - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)