Lines Matching refs:bat
63 static bool a500_battery_update_capacity(struct a500_battery *bat)
68 err = regmap_read(bat->regmap, ec_data[REG_CAPACITY].reg, &capacity);
75 if (bat->capacity != capacity) {
76 bat->capacity = capacity;
83 static int a500_battery_get_status(struct a500_battery *bat)
85 if (bat->capacity < 100) {
86 if (power_supply_am_i_supplied(bat->psy))
149 struct a500_battery *bat = power_supply_get_drvdata(psy);
155 val->intval = a500_battery_get_status(bat);
163 a500_battery_update_capacity(bat);
164 val->intval = bat->capacity;
176 ret = regmap_read(bat->regmap, ec_data[ret].reg, &val->intval);
201 struct a500_battery *bat;
204 bat = container_of(work, struct a500_battery, poll_work.work);
205 capacity_changed = a500_battery_update_capacity(bat);
208 power_supply_changed(bat->psy);
211 schedule_delayed_work(&bat->poll_work, 30 * HZ);
226 struct a500_battery *bat;
228 bat = devm_kzalloc(&pdev->dev, sizeof(*bat), GFP_KERNEL);
229 if (!bat)
232 platform_set_drvdata(pdev, bat);
235 psy_cfg.drv_data = bat;
237 bat->regmap = dev_get_regmap(pdev->dev.parent, "KB930");
238 if (!bat->regmap)
241 bat->psy = devm_power_supply_register_no_ws(&pdev->dev,
244 if (IS_ERR(bat->psy))
245 return dev_err_probe(&pdev->dev, PTR_ERR(bat->psy),
248 INIT_DELAYED_WORK(&bat->poll_work, a500_battery_poll_work);
249 schedule_delayed_work(&bat->poll_work, HZ);
256 struct a500_battery *bat = dev_get_drvdata(&pdev->dev);
258 cancel_delayed_work_sync(&bat->poll_work);
265 struct a500_battery *bat = dev_get_drvdata(dev);
267 cancel_delayed_work_sync(&bat->poll_work);
274 struct a500_battery *bat = dev_get_drvdata(dev);
276 schedule_delayed_work(&bat->poll_work, HZ);