Lines Matching defs:charger
2 // Battery charger driver for TI's tps65217
8 * Battery charger driver for TI's tps65217
44 static int tps65217_config_charger(struct tps65217_charger *charger)
53 * is not recommended to do so. In sleep mode, the charger continues
55 * values. Therefore, the charger would get the wrong temperature
66 ret = tps65217_clear_bits(charger->tps, TPS65217_REG_CHGCONFIG1,
70 dev_err(charger->dev,
78 static int tps65217_enable_charging(struct tps65217_charger *charger)
82 /* charger already enabled */
83 if (charger->online)
86 dev_dbg(charger->dev, "%s: enable charging\n", __func__);
87 ret = tps65217_set_bits(charger->tps, TPS65217_REG_CHGCONFIG1,
92 dev_err(charger->dev,
98 charger->online = 1;
107 struct tps65217_charger *charger = power_supply_get_drvdata(psy);
110 val->intval = charger->online;
119 struct tps65217_charger *charger = dev;
121 charger->prev_online = charger->online;
123 ret = tps65217_reg_read(charger->tps, TPS65217_REG_STATUS, &val);
125 dev_err(charger->dev, "%s: Error in reading reg 0x%x\n",
130 dev_dbg(charger->dev, "%s: 0x%x\n", __func__, val);
132 /* check for charger status bit */
134 ret = tps65217_enable_charging(charger);
136 dev_err(charger->dev,
137 "failed to enable charger: %d\n", ret);
141 charger->online = 0;
144 if (charger->prev_online != charger->online)
145 power_supply_changed(charger->psy);
147 ret = tps65217_reg_read(charger->tps, TPS65217_REG_CHGCONFIG0, &val);
149 dev_err(charger->dev, "%s: Error in reading reg 0x%x\n",
155 dev_dbg(charger->dev, "%s: charger is charging\n", __func__);
157 dev_dbg(charger->dev,
158 "%s: charger is NOT charging\n", __func__);
176 .name = "tps65217-charger",
186 struct tps65217_charger *charger;
193 charger = devm_kzalloc(&pdev->dev, sizeof(*charger), GFP_KERNEL);
194 if (!charger)
197 platform_set_drvdata(pdev, charger);
198 charger->tps = tps;
199 charger->dev = &pdev->dev;
202 cfg.drv_data = charger;
204 charger->psy = devm_power_supply_register(&pdev->dev,
207 if (IS_ERR(charger->psy)) {
209 return PTR_ERR(charger->psy);
215 ret = tps65217_config_charger(charger);
217 dev_err(charger->dev, "charger config failed, err %d\n", ret);
224 charger, "ktps65217charger");
227 dev_err(charger->dev,
232 charger->poll_task = poll_task;
236 /* Create IRQ threads for charger interrupts */
240 IRQF_ONESHOT, "tps65217-charger",
241 charger);
243 dev_err(charger->dev,
250 tps65217_charger_irq(-1, charger);
258 struct tps65217_charger *charger = platform_get_drvdata(pdev);
260 if (charger->poll_task)
261 kthread_stop(charger->poll_task);
267 { .compatible = "ti,tps65217-charger", },
276 .name = "tps65217-charger",
285 MODULE_DESCRIPTION("TPS65217 battery charger driver");