Lines Matching refs:ac

121 static int acpi_ac_get_state(struct acpi_ac *ac)  in acpi_ac_get_state()  argument
125 if (!ac) in acpi_ac_get_state()
128 status = acpi_evaluate_integer(ac->device->handle, "_PSR", NULL, in acpi_ac_get_state()
129 &ac->state); in acpi_ac_get_state()
133 ac->state = ACPI_AC_STATUS_UNKNOWN; in acpi_ac_get_state()
147 struct acpi_ac *ac = to_acpi_ac(psy); in get_ac_property() local
149 if (!ac) in get_ac_property()
152 if (acpi_ac_get_state(ac)) in get_ac_property()
157 val->intval = ac->state; in get_ac_property()
178 struct acpi_ac *ac = seq->private; in acpi_ac_seq_show() local
181 if (!ac) in acpi_ac_seq_show()
184 if (acpi_ac_get_state(ac)) { in acpi_ac_seq_show()
190 switch (ac->state) { in acpi_ac_seq_show()
210 static int acpi_ac_add_fs(struct acpi_ac *ac) in acpi_ac_add_fs() argument
216 if (!acpi_device_dir(ac->device)) { in acpi_ac_add_fs()
217 acpi_device_dir(ac->device) = in acpi_ac_add_fs()
218 proc_mkdir(acpi_device_bid(ac->device), acpi_ac_dir); in acpi_ac_add_fs()
219 if (!acpi_device_dir(ac->device)) in acpi_ac_add_fs()
225 S_IRUGO, acpi_device_dir(ac->device), in acpi_ac_add_fs()
226 &acpi_ac_fops, ac); in acpi_ac_add_fs()
232 static int acpi_ac_remove_fs(struct acpi_ac *ac) in acpi_ac_remove_fs() argument
235 if (acpi_device_dir(ac->device)) { in acpi_ac_remove_fs()
237 acpi_device_dir(ac->device)); in acpi_ac_remove_fs()
238 remove_proc_entry(acpi_device_bid(ac->device), acpi_ac_dir); in acpi_ac_remove_fs()
239 acpi_device_dir(ac->device) = NULL; in acpi_ac_remove_fs()
252 struct acpi_ac *ac = acpi_driver_data(device); in acpi_ac_notify() local
254 if (!ac) in acpi_ac_notify()
274 acpi_ac_get_state(ac); in acpi_ac_notify()
277 (u32) ac->state); in acpi_ac_notify()
278 acpi_notifier_call_chain(device, event, (u32) ac->state); in acpi_ac_notify()
279 kobject_uevent(&ac->charger->dev.kobj, KOBJ_CHANGE); in acpi_ac_notify()
288 struct acpi_ac *ac = container_of(nb, struct acpi_ac, battery_nb); in acpi_ac_battery_notify() local
300 acpi_ac_get_state(ac); in acpi_ac_battery_notify()
327 struct acpi_ac *ac = NULL; in acpi_ac_add() local
333 ac = kzalloc(sizeof(struct acpi_ac), GFP_KERNEL); in acpi_ac_add()
334 if (!ac) in acpi_ac_add()
337 ac->device = device; in acpi_ac_add()
340 device->driver_data = ac; in acpi_ac_add()
342 result = acpi_ac_get_state(ac); in acpi_ac_add()
346 psy_cfg.drv_data = ac; in acpi_ac_add()
348 ac->charger_desc.name = acpi_device_bid(device); in acpi_ac_add()
350 result = acpi_ac_add_fs(ac); in acpi_ac_add()
354 ac->charger_desc.type = POWER_SUPPLY_TYPE_MAINS; in acpi_ac_add()
355 ac->charger_desc.properties = ac_props; in acpi_ac_add()
356 ac->charger_desc.num_properties = ARRAY_SIZE(ac_props); in acpi_ac_add()
357 ac->charger_desc.get_property = get_ac_property; in acpi_ac_add()
358 ac->charger = power_supply_register(&ac->device->dev, in acpi_ac_add()
359 &ac->charger_desc, &psy_cfg); in acpi_ac_add()
360 if (IS_ERR(ac->charger)) { in acpi_ac_add()
361 result = PTR_ERR(ac->charger); in acpi_ac_add()
367 ac->state ? "on-line" : "off-line"); in acpi_ac_add()
369 ac->battery_nb.notifier_call = acpi_ac_battery_notify; in acpi_ac_add()
370 register_acpi_notifier(&ac->battery_nb); in acpi_ac_add()
374 acpi_ac_remove_fs(ac); in acpi_ac_add()
376 kfree(ac); in acpi_ac_add()
386 struct acpi_ac *ac; in acpi_ac_resume() local
392 ac = acpi_driver_data(to_acpi_device(dev)); in acpi_ac_resume()
393 if (!ac) in acpi_ac_resume()
396 old_state = ac->state; in acpi_ac_resume()
397 if (acpi_ac_get_state(ac)) in acpi_ac_resume()
399 if (old_state != ac->state) in acpi_ac_resume()
400 kobject_uevent(&ac->charger->dev.kobj, KOBJ_CHANGE); in acpi_ac_resume()
409 struct acpi_ac *ac = NULL; in acpi_ac_remove() local
415 ac = acpi_driver_data(device); in acpi_ac_remove()
417 power_supply_unregister(ac->charger); in acpi_ac_remove()
418 unregister_acpi_notifier(&ac->battery_nb); in acpi_ac_remove()
421 acpi_ac_remove_fs(ac); in acpi_ac_remove()
424 kfree(ac); in acpi_ac_remove()