Lines Matching refs:ec_bat
336 static void ec_bat_power_supply_changed(struct ec_battery *ec_bat) in ec_bat_power_supply_changed() argument
343 if (ec_get_capacity(ec_bat) != old_cap) in ec_bat_power_supply_changed()
345 else if (ec_get_temperature(ec_bat) != old_temperature) in ec_bat_power_supply_changed()
349 power_supply_changed(ec_bat->bat); in ec_bat_power_supply_changed()
350 old_cap = ec_get_capacity(ec_bat); in ec_bat_power_supply_changed()
351 old_temperature = ec_get_temperature(ec_bat); in ec_bat_power_supply_changed()
357 struct ec_battery *ec_bat = in ec_battery_work() local
360 ec_get_battery_info(ec_bat); in ec_battery_work()
361 ec_bat_power_supply_changed(ec_bat); in ec_battery_work()
363 queue_delayed_work(ec_bat->bat_monitor_wq, &ec_bat->bat_delay_work, in ec_battery_work()
364 msecs_to_jiffies(ec_bat->monitor_sec)); in ec_battery_work()
370 struct ec_battery *ec_bat; in ec_charger_probe() local
373 ec_bat = devm_kzalloc(&client->dev, sizeof(*ec_bat), GFP_KERNEL); in ec_charger_probe()
374 if (!ec_bat) in ec_charger_probe()
376 ec_bat->dev = &client->dev; in ec_charger_probe()
377 ec_bat->i2c = client; in ec_charger_probe()
378 i2c_set_clientdata(client, ec_bat); in ec_charger_probe()
380 ret = ec_bat_parse_dt(ec_bat); in ec_charger_probe()
382 dev_err(ec_bat->dev, "parse dt failed!\n"); in ec_charger_probe()
386 ret = ec_bat_init_power_supply(ec_bat); in ec_charger_probe()
388 dev_err(ec_bat->dev, "init power supply fail!\n"); in ec_charger_probe()
392 ec_bat->bat_monitor_wq = in ec_charger_probe()
396 INIT_DELAYED_WORK(&ec_bat->bat_delay_work, ec_battery_work); in ec_charger_probe()
397 queue_delayed_work(ec_bat->bat_monitor_wq, &ec_bat->bat_delay_work, in ec_charger_probe()
407 struct ec_battery *ec_bat = i2c_get_clientdata(client); in ec_bat_pm_suspend() local
409 cancel_delayed_work_sync(&ec_bat->bat_delay_work); in ec_bat_pm_suspend()
411 if (!IS_ERR_OR_NULL(ec_bat->ec_notify_io)) in ec_bat_pm_suspend()
412 gpiod_direction_output(ec_bat->ec_notify_io, 1); in ec_bat_pm_suspend()
420 struct ec_battery *ec_bat = i2c_get_clientdata(client); in ec_bat_pm_resume() local
422 if (!IS_ERR_OR_NULL(ec_bat->ec_notify_io)) in ec_bat_pm_resume()
423 gpiod_direction_output(ec_bat->ec_notify_io, 0); in ec_bat_pm_resume()
425 queue_delayed_work(ec_bat->bat_monitor_wq, &ec_bat->bat_delay_work, in ec_bat_pm_resume()