Lines Matching refs:adc_bat

60 	struct gab *adc_bat = to_generic_bat(psy);
62 schedule_delayed_work(&adc_bat->bat_work, msecs_to_jiffies(0));
80 static bool gab_charge_finished(struct gab *adc_bat)
82 if (!adc_bat->charge_finished)
84 return gpiod_get_value(adc_bat->charge_finished);
87 static int gab_read_channel(struct gab *adc_bat, enum gab_chan_type channel,
92 ret = iio_read_channel_processed(adc_bat->channel[channel], result);
94 dev_err(&adc_bat->psy->dev, "read channel error: %d\n", ret);
104 struct gab *adc_bat = to_generic_bat(psy);
108 val->intval = adc_bat->status;
111 return gab_read_channel(adc_bat, GAB_VOLTAGE, &val->intval);
113 return gab_read_channel(adc_bat, GAB_CURRENT, &val->intval);
115 return gab_read_channel(adc_bat, GAB_POWER, &val->intval);
117 return gab_read_channel(adc_bat, GAB_TEMP, &val->intval);
125 struct gab *adc_bat;
130 adc_bat = container_of(delayed_work, struct gab, bat_work);
131 status = adc_bat->status;
133 if (!power_supply_am_i_supplied(adc_bat->psy))
134 adc_bat->status = POWER_SUPPLY_STATUS_DISCHARGING;
135 else if (gab_charge_finished(adc_bat))
136 adc_bat->status = POWER_SUPPLY_STATUS_NOT_CHARGING;
138 adc_bat->status = POWER_SUPPLY_STATUS_CHARGING;
140 if (status != adc_bat->status)
141 power_supply_changed(adc_bat->psy);
146 struct gab *adc_bat = dev_id;
148 schedule_delayed_work(&adc_bat->bat_work,
156 struct gab *adc_bat;
165 adc_bat = devm_kzalloc(&pdev->dev, sizeof(*adc_bat), GFP_KERNEL);
166 if (!adc_bat)
170 psy_cfg.drv_data = adc_bat;
171 psy_desc = &adc_bat->psy_desc;
175 adc_bat->status = POWER_SUPPLY_STATUS_DISCHARGING;
199 adc_bat->channel[chan] = devm_iio_channel_get(&pdev->dev, gab_chan_name[chan]);
200 if (IS_ERR(adc_bat->channel[chan])) {
201 ret = PTR_ERR(adc_bat->channel[chan]);
204 adc_bat->channel[chan] = NULL;
205 } else if (adc_bat->channel[chan]) {
232 adc_bat->psy = devm_power_supply_register(&pdev->dev, psy_desc, &psy_cfg);
233 if (IS_ERR(adc_bat->psy))
234 return dev_err_probe(&pdev->dev, PTR_ERR(adc_bat->psy), "Failed to register power-supply device\n");
236 ret = devm_delayed_work_autocancel(&pdev->dev, &adc_bat->bat_work, gab_work);
240 adc_bat->charge_finished = devm_gpiod_get_optional(&pdev->dev, "charged", GPIOD_IN);
241 if (adc_bat->charge_finished) {
244 irq = gpiod_to_irq(adc_bat->charge_finished);
247 "battery charged", adc_bat);
252 platform_set_drvdata(pdev, adc_bat);
255 schedule_delayed_work(&adc_bat->bat_work,
262 struct gab *adc_bat = dev_get_drvdata(dev);
264 cancel_delayed_work_sync(&adc_bat->bat_work);
265 adc_bat->status = POWER_SUPPLY_STATUS_UNKNOWN;
271 struct gab *adc_bat = dev_get_drvdata(dev);
274 schedule_delayed_work(&adc_bat->bat_work,