Messages in this thread | | | Date | Mon, 29 Apr 2024 11:54:29 +0300 | From | Andy Shevchenko <> | Subject | Re: [PATCH RFC] i2c: Add a void pointer to i2c_device_id |
| |
On Fri, Apr 26, 2024 at 11:38:33PM +0200, Uwe Kleine-König wrote: > Traditionally a struct i2c_device_id has a kernel_ulong_t member to > store some chip variant data. Some drivers use it to store an enum, > others to store a pointer. In the latter case there is some ugly(?) > casting involved. To improve that, add a void pointer in an anonymous > union together with the integer driver_data. > > This way a i2c_device_id requires usage of a designated initializer when > the driver_data or data member should be initialized, but IMHO that's > fine and you might even consider that an advantage.
..
> static const struct i2c_device_id wlf_gf_module_id[] = { > - { "wlf-gf-module", 0 }, > + { "wlf-gf-module", },
In such cases the inner comma is redundant as well.
> { } > };
..
In general idea might be okay, but I always have the same Q (do we have it being clarified in the documentation, btw): is an ID table the ABI or not? In another word, how should we treat the changes there, because ID tables are being used by the user space tools.
-- With Best Regards, Andy Shevchenko
| |