Lines Matching refs:charger
46 POWER_SUPPLY_PROP_ONLINE, /* charger is active or not */
49 /* Note that the charger control is done by a current regulator "CHARGER" */
54 struct charger_data *charger = power_supply_get_drvdata(psy);
55 struct i2c_client *i2c = charger->iodev->i2c;
100 struct charger_data *charger =
102 struct extcon_dev *edev = charger->edev;
106 dev_dbg(charger->dev, "USB SDP charger is connected\n");
109 dev_dbg(charger->dev, "USB DCP charger is connected\n");
112 dev_dbg(charger->dev, "USB FAST charger is connected\n");
115 dev_dbg(charger->dev, "USB SLOW charger is connected\n");
118 dev_dbg(charger->dev, "USB CDP charger is connected\n");
121 dev_dbg(charger->dev, "USB charger is disconnected\n");
126 int ret = regulator_set_current_limit(charger->reg, current_limit, current_limit);
129 dev_err(charger->dev, "failed to set current limit: %d\n", ret);
132 ret = regulator_enable(charger->reg);
134 dev_err(charger->dev, "failed to enable regulator: %d\n", ret);
136 int ret = regulator_disable(charger->reg);
139 dev_err(charger->dev, "failed to disable regulator: %d\n", ret);
146 struct charger_data *charger =
148 schedule_work(&charger->extcon_work);
163 struct charger_data *charger;
216 charger = devm_kzalloc(&pdev->dev, sizeof(*charger), GFP_KERNEL);
217 if (!charger)
220 platform_set_drvdata(pdev, charger);
222 charger->dev = &pdev->dev;
223 charger->iodev = iodev;
225 psy_cfg.drv_data = charger;
227 charger->battery = devm_power_supply_register(&pdev->dev,
230 if (IS_ERR(charger->battery)) {
232 return PTR_ERR(charger->battery);
237 charger->reg = devm_regulator_get_optional(&pdev->dev, "charger");
239 if (IS_ERR(charger->reg)) {
240 if (PTR_ERR(charger->reg) == -EPROBE_DEFER)
242 dev_info(&pdev->dev, "couldn't get charger regulator\n");
244 charger->edev = extcon_get_extcon_dev("max8997-muic");
245 if (IS_ERR(charger->edev)) {
246 dev_err_probe(charger->dev, PTR_ERR(charger->edev),
248 return PTR_ERR(charger->edev);
251 if (!IS_ERR(charger->reg) && !IS_ERR_OR_NULL(charger->edev)) {
252 ret = devm_work_autocancel(&pdev->dev, &charger->extcon_work,
258 charger->extcon_nb.notifier_call = max8997_battery_extcon_evt;
259 ret = devm_extcon_register_notifier_all(&pdev->dev, charger->edev,
260 &charger->extcon_nb);