On 4/12/22 13:22, Andy Shevchenko wrote:
On Tue, Apr 12, 2022 at 02:21:08PM +0300, Andy Shevchenko wrote:
On Tue, Apr 12, 2022 at 10:07:02AM +0200, Javier Martinez Canillas wrote:
On 4/12/22 09:23, Geert Uytterhoeven wrote:
On Mon, Apr 11, 2022 at 11:12 PM Javier Martinez Canillas javierm@redhat.com wrote:
...
ssd130x->device_info = device_get_match_data(dev);
variant = (enum ssd130x_variants)device_get_match_data(dev);
(uintptr_t), to avoid a cast from pointer to integer of different size warning.
Indeed. The kernel test robot reported the same.
Not only because of this, but also with the non-NULL pointers I prefer the old style without ugly castings.
Instead, you may export the array (in the driver's namespace) and use &info[ID] pointer for the specific device info.
Note that device_get_match_data() has no clue if the data is absent or data == (void *)0.
Yep, we could make the enum start at 1 and check for !variant but that's something that will also be prevented by your suggestion to just use the &info[ID] instead.