• Home
  • Raw
  • Download

Lines Matching full:ac

3  *  acpi_ac.c - ACPI AC Adapter Driver ($Revision: 27 $)
24 #define ACPI_AC_DEVICE_NAME "AC Adapter"
32 ACPI_MODULE_NAME("ac");
35 MODULE_DESCRIPTION("ACPI AC Adapter Driver");
70 .name = "ac",
93 AC Adapter Management
96 static int acpi_ac_get_state(struct acpi_ac *ac) in acpi_ac_get_state() argument
100 if (!ac) in acpi_ac_get_state()
104 ac->state = 1; in acpi_ac_get_state()
108 status = acpi_evaluate_integer(ac->device->handle, "_PSR", NULL, in acpi_ac_get_state()
109 &ac->state); in acpi_ac_get_state()
112 "Error reading AC Adapter state")); in acpi_ac_get_state()
113 ac->state = ACPI_AC_STATUS_UNKNOWN; in acpi_ac_get_state()
127 struct acpi_ac *ac = to_acpi_ac(psy); in get_ac_property() local
129 if (!ac) in get_ac_property()
132 if (acpi_ac_get_state(ac)) in get_ac_property()
137 val->intval = ac->state; in get_ac_property()
155 struct acpi_ac *ac = acpi_driver_data(device); in acpi_ac_notify() local
157 if (!ac) in acpi_ac_notify()
169 * A buggy BIOS may notify AC first and then sleep for in acpi_ac_notify()
171 * EC event handler (_Qxx). This will cause the AC state in acpi_ac_notify()
178 acpi_ac_get_state(ac); in acpi_ac_notify()
181 (u32) ac->state); in acpi_ac_notify()
182 acpi_notifier_call_chain(device, event, (u32) ac->state); in acpi_ac_notify()
183 kobject_uevent(&ac->charger->dev.kobj, KOBJ_CHANGE); in acpi_ac_notify()
192 struct acpi_ac *ac = container_of(nb, struct acpi_ac, battery_nb); in acpi_ac_battery_notify() local
196 * On HP Pavilion dv6-6179er AC status notifications aren't triggered in acpi_ac_battery_notify()
199 * discharging. Re-reading AC status triggers lost AC notifications, in acpi_ac_battery_notify()
200 * if AC status has changed. in acpi_ac_battery_notify()
204 acpi_ac_get_state(ac); in acpi_ac_battery_notify()
267 struct acpi_ac *ac = NULL; in acpi_ac_add() local
273 ac = kzalloc(sizeof(struct acpi_ac), GFP_KERNEL); in acpi_ac_add()
274 if (!ac) in acpi_ac_add()
277 ac->device = device; in acpi_ac_add()
280 device->driver_data = ac; in acpi_ac_add()
282 result = acpi_ac_get_state(ac); in acpi_ac_add()
286 psy_cfg.drv_data = ac; in acpi_ac_add()
288 ac->charger_desc.name = acpi_device_bid(device); in acpi_ac_add()
289 ac->charger_desc.type = POWER_SUPPLY_TYPE_MAINS; in acpi_ac_add()
290 ac->charger_desc.properties = ac_props; in acpi_ac_add()
291 ac->charger_desc.num_properties = ARRAY_SIZE(ac_props); in acpi_ac_add()
292 ac->charger_desc.get_property = get_ac_property; in acpi_ac_add()
293 ac->charger = power_supply_register(&ac->device->dev, in acpi_ac_add()
294 &ac->charger_desc, &psy_cfg); in acpi_ac_add()
295 if (IS_ERR(ac->charger)) { in acpi_ac_add()
296 result = PTR_ERR(ac->charger); in acpi_ac_add()
302 ac->state ? "on-line" : "off-line"); in acpi_ac_add()
304 ac->battery_nb.notifier_call = acpi_ac_battery_notify; in acpi_ac_add()
305 register_acpi_notifier(&ac->battery_nb); in acpi_ac_add()
308 kfree(ac); in acpi_ac_add()
317 struct acpi_ac *ac; in acpi_ac_resume() local
323 ac = acpi_driver_data(to_acpi_device(dev)); in acpi_ac_resume()
324 if (!ac) in acpi_ac_resume()
327 old_state = ac->state; in acpi_ac_resume()
328 if (acpi_ac_get_state(ac)) in acpi_ac_resume()
330 if (old_state != ac->state) in acpi_ac_resume()
331 kobject_uevent(&ac->charger->dev.kobj, KOBJ_CHANGE); in acpi_ac_resume()
340 struct acpi_ac *ac = NULL; in acpi_ac_remove() local
346 ac = acpi_driver_data(device); in acpi_ac_remove()
348 power_supply_unregister(ac->charger); in acpi_ac_remove()
349 unregister_acpi_notifier(&ac->battery_nb); in acpi_ac_remove()
351 kfree(ac); in acpi_ac_remove()
370 pr_info(PREFIX "AC: found native %s PMIC, not loading\n", in acpi_ac_init()