On Tue, Apr 28, 2020 at 2:44 AM Lee Jones <lee.jones@xxxxxxxxxx> wrote: > <snip> > > + > > +static int gsc_probe(struct i2c_client *client) > > +{ > > + struct device *dev = &client->dev; > > + struct gsc_dev *gsc; > > + int ret; > > + unsigned int reg; > > + > > + gsc = devm_kzalloc(dev, sizeof(*gsc), GFP_KERNEL); > > + if (!gsc) > > + return -ENOMEM; > > + > > + gsc->dev = &client->dev; > > + gsc->i2c = client; > > + i2c_set_clientdata(client, gsc); > > + > > + gsc->bus.reg_write = gsc_regmap_regwrite; > > + gsc->bus.reg_read = gsc_regmap_regread; > > Why do you need to store these in ddata? Lee, Thanks for the review! I need the remap_bus* for devm_regmap_init() in the hwmon sub-module driver: hwmon->regmap = devm_regmap_init(dev, &gsc->bus, gsc->i2c_hwmon, &gsc_hwmon_regmap_config); Is there something easier I'm missing? Thanks, Tim