On Thu, Oct 10, 2024 at 06:29:44PM +0300, Andy Shevchenko wrote: > On Tue, Oct 08, 2024 at 03:34:26PM +0800, Chen-Yu Tsai wrote: ... > > +static const struct chromeos_i2c_probe_data chromeos_i2c_probe_dumb_touchscreen = { > > + .cfg = &(const struct i2c_of_probe_cfg) { > > Perhaps you can introduce something like > > #define DEFINE_I2C_OF_PROBE_CFG(_type_, _ops_) \ > (struct ...) { \ > .ops = _ops_, \ > .type = #_type_, \ > } > > and use it here as > > .cfg = DEFINE_I2C_OF_PROBE_CFG(touchscreen, NULL), > > > + .type = "touchscreen" > > Ditto. This was for leaving trailing comma. > > + } > > Ditto. > > > +}; > > + > > +static const struct i2c_of_probe_cfg chromeos_i2c_probe_simple_trackpad_cfg = { > > + .ops = &i2c_of_probe_simple_ops, > > + .type = "trackpad" > > Leave a comma. > > > +}; ... > > + .cfg = &chromeos_i2c_probe_simple_trackpad_cfg, > > .cfg = DEFINE_I2C_OF_PROBE_CFG(trackpad, i2c_of_probe_simple_ops), > > Or even > > #define DEFINE_I2C_OF_PROBE_CFG_SIMPLE(_type_) \ > DEFINE_I2C_OF_PROBE_CFG(type, &i2c_of_probe_simple_ops) With that also looking at the above #define DEFINE_I2C_OF_PROBE_CFG_NONE(_type_) \ DEFINE_I2C_OF_PROBE_CFG(type, NULL) -- With Best Regards, Andy Shevchenko