Lines Matching defs:charger

42 static inline int da9150_charger_supply_online(struct da9150_charger *charger,
46 val->intval = (psy == charger->supply_online) ? 1 : 0;
52 static int da9150_charger_vbus_voltage_now(struct da9150_charger *charger,
58 ret = iio_read_channel_processed(charger->vbus_chan, &v_val);
68 static int da9150_charger_ibus_current_avg(struct da9150_charger *charger,
74 ret = iio_read_channel_processed(charger->ibus_chan, &i_val);
84 static int da9150_charger_tjunc_temp(struct da9150_charger *charger,
90 ret = iio_read_channel_processed(charger->tjunc_chan, &t_val);
111 struct da9150_charger *charger = dev_get_drvdata(psy->dev.parent);
116 ret = da9150_charger_supply_online(charger, psy, val);
119 ret = da9150_charger_vbus_voltage_now(charger, val);
122 ret = da9150_charger_ibus_current_avg(charger, val);
125 ret = da9150_charger_tjunc_temp(charger, val);
136 static int da9150_charger_battery_status(struct da9150_charger *charger,
142 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_H);
151 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
179 static int da9150_charger_battery_health(struct da9150_charger *charger,
184 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
215 static int da9150_charger_battery_present(struct da9150_charger *charger,
221 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
230 static int da9150_charger_battery_charge_type(struct da9150_charger *charger,
235 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
254 static int da9150_charger_battery_voltage_min(struct da9150_charger *charger,
259 reg = da9150_reg_read(charger->da9150, DA9150_PPR_CHGCTRL_C);
267 static int da9150_charger_battery_voltage_now(struct da9150_charger *charger,
273 ret = iio_read_channel_processed(charger->vbat_chan, &v_val);
282 static int da9150_charger_battery_current_max(struct da9150_charger *charger,
287 reg = da9150_reg_read(charger->da9150, DA9150_PPR_CHGCTRL_D);
295 static int da9150_charger_battery_voltage_max(struct da9150_charger *charger,
300 reg = da9150_reg_read(charger->da9150, DA9150_PPR_CHGCTRL_B);
323 struct da9150_charger *charger = dev_get_drvdata(psy->dev.parent);
328 ret = da9150_charger_battery_status(charger, val);
331 ret = da9150_charger_supply_online(charger, psy, val);
334 ret = da9150_charger_battery_health(charger, val);
337 ret = da9150_charger_battery_present(charger, val);
340 ret = da9150_charger_battery_charge_type(charger, val);
343 ret = da9150_charger_battery_voltage_min(charger, val);
346 ret = da9150_charger_battery_voltage_now(charger, val);
349 ret = da9150_charger_battery_current_max(charger, val);
352 ret = da9150_charger_battery_voltage_max(charger, val);
364 struct da9150_charger *charger = data;
366 power_supply_changed(charger->battery);
373 struct da9150_charger *charger = data;
376 dev_crit(charger->dev, "TJunc over temperature!!!\n");
377 power_supply_changed(charger->usb);
384 struct da9150_charger *charger = data;
387 dev_crit(charger->dev, "VSYS under voltage!!!\n");
388 power_supply_changed(charger->usb);
389 power_supply_changed(charger->battery);
396 struct da9150_charger *charger = data;
399 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_H);
405 charger->supply_online = charger->battery;
408 charger->supply_online = charger->usb;
411 dev_warn(charger->dev, "Unknown VBUS state - reg = 0x%x\n",
413 charger->supply_online = NULL;
417 power_supply_changed(charger->usb);
418 power_supply_changed(charger->battery);
425 struct da9150_charger *charger =
428 switch (charger->usb_event) {
431 da9150_set_bits(charger->da9150, DA9150_PPR_BKCTRL_A,
436 power_supply_changed(charger->usb);
437 power_supply_changed(charger->battery);
438 da9150_set_bits(charger->da9150, DA9150_PPR_BKCTRL_A,
447 struct da9150_charger *charger =
450 dev_dbg(charger->dev, "DA9150 OTG notify %lu\n", val);
452 charger->usb_event = val;
453 schedule_work(&charger->otg_work);
463 struct da9150_charger *charger = platform_get_drvdata(pdev);
471 charger);
481 struct da9150_charger *charger = platform_get_drvdata(pdev);
488 free_irq(irq, charger);
511 struct da9150_charger *charger;
515 charger = devm_kzalloc(dev, sizeof(struct da9150_charger), GFP_KERNEL);
516 if (!charger)
519 platform_set_drvdata(pdev, charger);
520 charger->da9150 = da9150;
521 charger->dev = dev;
524 charger->ibus_chan = iio_channel_get(dev, "CHAN_IBUS");
525 if (IS_ERR(charger->ibus_chan)) {
526 ret = PTR_ERR(charger->ibus_chan);
530 charger->vbus_chan = iio_channel_get(dev, "CHAN_VBUS");
531 if (IS_ERR(charger->vbus_chan)) {
532 ret = PTR_ERR(charger->vbus_chan);
536 charger->tjunc_chan = iio_channel_get(dev, "CHAN_TJUNC");
537 if (IS_ERR(charger->tjunc_chan)) {
538 ret = PTR_ERR(charger->tjunc_chan);
542 charger->vbat_chan = iio_channel_get(dev, "CHAN_VBAT");
543 if (IS_ERR(charger->vbat_chan)) {
544 ret = PTR_ERR(charger->vbat_chan);
549 charger->usb = power_supply_register(dev, &usb_desc, NULL);
550 if (IS_ERR(charger->usb)) {
551 ret = PTR_ERR(charger->usb);
555 charger->battery = power_supply_register(dev, &battery_desc, NULL);
556 if (IS_ERR(charger->battery)) {
557 ret = PTR_ERR(charger->battery);
567 charger->supply_online = charger->battery;
570 charger->supply_online = charger->usb;
574 charger->supply_online = NULL;
579 charger->usb_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
580 if (!IS_ERR_OR_NULL(charger->usb_phy)) {
581 INIT_WORK(&charger->otg_work, da9150_charger_otg_work);
582 charger->otg_nb.notifier_call = da9150_charger_otg_ncb;
583 usb_register_notifier(charger->usb_phy, &charger->otg_nb);
617 if (!IS_ERR_OR_NULL(charger->usb_phy))
618 usb_unregister_notifier(charger->usb_phy, &charger->otg_nb);
620 power_supply_unregister(charger->usb);
623 iio_channel_release(charger->vbat_chan);
626 iio_channel_release(charger->tjunc_chan);
629 iio_channel_release(charger->vbus_chan);
632 iio_channel_release(charger->ibus_chan);
640 struct da9150_charger *charger = platform_get_drvdata(pdev);
645 free_irq(irq, charger);
648 free_irq(irq, charger);
651 free_irq(irq, charger);
654 free_irq(irq, charger);
656 if (!IS_ERR_OR_NULL(charger->usb_phy))
657 usb_unregister_notifier(charger->usb_phy, &charger->otg_nb);
658 cancel_work_sync(&charger->otg_work);
660 power_supply_unregister(charger->battery);
661 power_supply_unregister(charger->usb);
664 iio_channel_release(charger->ibus_chan);
665 iio_channel_release(charger->vbus_chan);
666 iio_channel_release(charger->tjunc_chan);
667 iio_channel_release(charger->vbat_chan);
674 .name = "da9150-charger",