Lines Matching refs:charger

47 	struct power_supply		*charger;  member
91 static inline int bq24735_enable_charging(struct bq24735 *charger) in bq24735_enable_charging() argument
93 return bq24735_update_word(charger->client, BQ24735_CHG_OPT, in bq24735_enable_charging()
98 static inline int bq24735_disable_charging(struct bq24735 *charger) in bq24735_disable_charging() argument
100 return bq24735_update_word(charger->client, BQ24735_CHG_OPT, in bq24735_disable_charging()
105 static int bq24735_config_charger(struct bq24735 *charger) in bq24735_config_charger() argument
107 struct bq24735_platform *pdata = charger->pdata; in bq24735_config_charger()
114 ret = bq24735_write_word(charger->client, in bq24735_config_charger()
117 dev_err(&charger->client->dev, in bq24735_config_charger()
127 ret = bq24735_write_word(charger->client, in bq24735_config_charger()
130 dev_err(&charger->client->dev, in bq24735_config_charger()
140 ret = bq24735_write_word(charger->client, in bq24735_config_charger()
143 dev_err(&charger->client->dev, in bq24735_config_charger()
153 static bool bq24735_charger_is_present(struct bq24735 *charger) in bq24735_charger_is_present() argument
155 struct bq24735_platform *pdata = charger->pdata; in bq24735_charger_is_present()
164 ac = bq24735_read_word(charger->client, BQ24735_CHG_OPT); in bq24735_charger_is_present()
166 dev_err(&charger->client->dev, in bq24735_charger_is_present()
180 struct bq24735 *charger = to_bq24735(psy); in bq24735_charger_isr() local
182 if (bq24735_charger_is_present(charger)) in bq24735_charger_isr()
183 bq24735_enable_charging(charger); in bq24735_charger_isr()
185 bq24735_disable_charging(charger); in bq24735_charger_isr()
196 struct bq24735 *charger = to_bq24735(psy); in bq24735_charger_get_property() local
200 val->intval = bq24735_charger_is_present(charger) ? 1 : 0; in bq24735_charger_get_property()
249 struct bq24735 *charger; in bq24735_charger_probe() local
254 charger = devm_kzalloc(&client->dev, sizeof(*charger), GFP_KERNEL); in bq24735_charger_probe()
255 if (!charger) in bq24735_charger_probe()
258 charger->pdata = client->dev.platform_data; in bq24735_charger_probe()
260 if (IS_ENABLED(CONFIG_OF) && !charger->pdata && client->dev.of_node) in bq24735_charger_probe()
261 charger->pdata = bq24735_parse_dt_data(client); in bq24735_charger_probe()
263 if (!charger->pdata) { in bq24735_charger_probe()
268 name = (char *)charger->pdata->name; in bq24735_charger_probe()
278 charger->client = client; in bq24735_charger_probe()
280 supply_desc = &charger->charger_desc; in bq24735_charger_probe()
288 psy_cfg.supplied_to = charger->pdata->supplied_to; in bq24735_charger_probe()
289 psy_cfg.num_supplicants = charger->pdata->num_supplicants; in bq24735_charger_probe()
291 psy_cfg.drv_data = charger; in bq24735_charger_probe()
293 i2c_set_clientdata(client, charger); in bq24735_charger_probe()
318 if (gpio_is_valid(charger->pdata->status_gpio)) { in bq24735_charger_probe()
320 charger->pdata->status_gpio, in bq24735_charger_probe()
325 charger->pdata->status_gpio, ret); in bq24735_charger_probe()
328 charger->pdata->status_gpio_valid = !ret; in bq24735_charger_probe()
331 ret = bq24735_config_charger(charger); in bq24735_charger_probe()
338 if (bq24735_charger_is_present(charger)) { in bq24735_charger_probe()
339 ret = bq24735_enable_charging(charger); in bq24735_charger_probe()
346 charger->charger = power_supply_register(&client->dev, supply_desc, in bq24735_charger_probe()
348 if (IS_ERR(charger->charger)) { in bq24735_charger_probe()
349 ret = PTR_ERR(charger->charger); in bq24735_charger_probe()
362 charger->charger); in bq24735_charger_probe()
373 power_supply_unregister(charger->charger); in bq24735_charger_probe()
375 if (name != charger->pdata->name) in bq24735_charger_probe()
383 struct bq24735 *charger = i2c_get_clientdata(client); in bq24735_charger_remove() local
385 if (charger->client->irq) in bq24735_charger_remove()
386 devm_free_irq(&charger->client->dev, charger->client->irq, in bq24735_charger_remove()
387 &charger->charger); in bq24735_charger_remove()
389 power_supply_unregister(charger->charger); in bq24735_charger_remove()
391 if (charger->charger_desc.name != charger->pdata->name) in bq24735_charger_remove()
392 kfree(charger->charger_desc.name); in bq24735_charger_remove()