Lines Matching refs:data
96 struct sbsm_data *data = power_supply_get_drvdata(psy);
101 regval = sbsm_read_word(data->client, SBSM_CMD_BATSYSSTATECONT);
108 regval = sbsm_read_word(data->client, SBSM_CMD_BATSYSSTATE);
118 if (data->is_ltc1760) {
120 regval = sbsm_read_word(data->client, SBSM_CMD_LTC);
138 struct sbsm_data *data = power_supply_get_drvdata(psy);
140 return (psp == POWER_SUPPLY_PROP_CHARGE_TYPE) && data->is_ltc1760;
147 struct sbsm_data *data = power_supply_get_drvdata(psy);
154 if (!data->is_ltc1760)
158 ret = sbsm_write_word(data->client, SBSM_CMD_LTC, regval);
174 struct sbsm_data *data = i2c_mux_priv(muxc);
175 struct device *dev = &data->client->dev;
179 if (data->cur_chan == chan)
184 ret = sbsm_write_word(data->client, SBSM_CMD_BATSYSSTATE, reg);
188 data->cur_chan = chan;
195 struct sbsm_data *data = gpiochip_get_data(gc);
198 ret = sbsm_read_word(data->client, SBSM_CMD_BATSYSSTATE);
267 static int sbsm_gpio_setup(struct sbsm_data *data)
269 struct gpio_chip *gc = &data->chip;
270 struct i2c_client *client = data->client;
280 data->last_state = ret;
285 data->last_state_cont = ret;
296 ret = devm_gpiochip_add_data(dev, gc, data);
318 struct sbsm_data *data;
331 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
332 if (!data)
335 i2c_set_clientdata(client, data);
337 data->client = client;
338 data->is_ltc1760 = !!strstr(id->name, "ltc1760");
343 data->supported_bats = ret & SBSM_MASK_BAT_SUPPORTED;
344 data->muxc = i2c_mux_alloc(adapter, dev, SBSM_MAX_BATS, 0,
346 if (!data->muxc) {
351 data->muxc->priv = data;
355 if (data->supported_bats & BIT(i)) {
356 ret = i2c_mux_add_adapter(data->muxc, 0, i + 1, 0);
380 ret = sbsm_gpio_setup(data);
384 psy_cfg.drv_data = data;
386 data->psy = devm_power_supply_register(dev, psy_desc, &psy_cfg);
387 if (IS_ERR(data->psy)) {
388 ret = PTR_ERR(data->psy);
398 i2c_mux_del_adapters(data->muxc);
406 struct sbsm_data *data = i2c_get_clientdata(client);
408 i2c_mux_del_adapters(data->muxc);