On Sun, Jul 23, 2023 at 09:37:21AM +0100, Biju Das wrote: > Add i2c_device_get_match_data() callback to struct bus_type(). > > While at it, introduced i2c_get_match_data_helper() to avoid code > duplication with i2c_get_match_data(). > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > --- > drivers/i2c/i2c-core-base.c | 38 +++++++++++++++++++++++++++++-------- > 1 file changed, 30 insertions(+), 8 deletions(-) > > diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c > index 60746652fd52..80259111355b 100644 > --- a/drivers/i2c/i2c-core-base.c > +++ b/drivers/i2c/i2c-core-base.c > @@ -114,20 +114,41 @@ const struct i2c_device_id *i2c_match_id(const struct i2c_device_id *id, > } > EXPORT_SYMBOL_GPL(i2c_match_id); > > +static void *i2c_get_match_data_helper(struct i2c_driver *driver, > + const struct i2c_client *client) > +{ > + const struct i2c_device_id *match; > + > + match = i2c_match_id(driver->id_table, client); > + if (!match) > + return NULL; > + > + return (const void *)match->driver_data; Not sure if this helper is needed given that in the end (hopefully) we can simply remove i2c_get_match_data() and leave only i2c_device_get_match_data(). i2c_get_match_data() and leave only i2c_device_get_match_data(). Thanks. -- Dmitry