On Sat, Oct 5, 2019 at 12:47 AM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > This driver can use the of_device_get_match_data() API to simplify the > code. Replace calls to of_match_device() with this newer API under the > assumption that where it is called will be when we know the device is > backed by a DT node. This nicely avoids referencing the match table when > it is undefined with configurations where CONFIG_OF=n. > + devid = (int)(uintptr_t)of_device_get_match_data(dev); > + devid = (int)(uintptr_t)of_device_get_match_data(&client->dev); This still leaves it OF-centric. Better to use device_get_match_data(). Also, I'm thinking that following may help to clean a lot of the i2c client drivers static inline // perhaps no const void *i2c_device_get_match_data(struct i2c_client *client, const struct i2c_device_id *id) { if (id) return (const void *)id->driver_data; return device_get_match_data(&client->dev); } -- With Best Regards, Andy Shevchenko