Messages in this thread | | | Date | Fri, 28 Apr 2023 12:33:23 -0700 | Subject | Re: [PATCH] hwmon: (oxp-sensors) Add AYANEO 2 and Geek models | From | Guenter Roeck <> |
| |
On 4/28/23 12:15, Joaquin Aramendia wrote: >>> I don't know why but the compiler would complain with the casting from >>> enum to void*. >> >> Really ? I tried with both 32 bit and 64 bit targets, and the above worked >> just fine (with W=1). I tried with gcc 10.3 as well as 11.3. What is >> your compiler version, what exactly is the warning/error message you >> observed, and how exactly did your code look like ? > > Said something about an invalid cast of an lvalue? I can´t remember exactly
Like this, maybe ?
drivers/hwmon/oxp-sensors.c:63:26: error: lvalue required as unary ‘&’ operand
That would have been something along the line of
.driver_data = (void *)&aok_zoe_a1,
or driver_data = &aok_zoe_a1,
> and couldn't reproduce it again. Will change all to your form after > this patch gets > merged if you like, just to keep things atomic. >
Please do.
Thanks, Guenter
>> >>> Found out that explicitly casting the enum literal before casting it >>> to void* works and >>> the compiler stopped complaining so I went with it. >>> >> >> You are not casting the enum literal, but a pointer to it. > > Yes. I'm taking an enum literal and taking its pointer to cast it to a void*. > A little cumbersome, but maybe it can be avoided by using your proposed > form directly and after making sure it works. >
| |