Lines Matching refs:hook
706 static void battery_hook_unregister_unlocked(struct acpi_battery_hook *hook) in battery_hook_unregister_unlocked() argument
715 if (!hook->remove_battery(battery->bat, hook)) in battery_hook_unregister_unlocked()
718 list_del_init(&hook->list); in battery_hook_unregister_unlocked()
720 pr_info("extension unregistered: %s\n", hook->name); in battery_hook_unregister_unlocked()
723 void battery_hook_unregister(struct acpi_battery_hook *hook) in battery_hook_unregister() argument
731 if (!list_empty(&hook->list)) in battery_hook_unregister()
732 battery_hook_unregister_unlocked(hook); in battery_hook_unregister()
738 void battery_hook_register(struct acpi_battery_hook *hook) in battery_hook_register() argument
743 list_add(&hook->list, &battery_hook_list); in battery_hook_register()
751 if (hook->add_battery(battery->bat, hook)) { in battery_hook_register()
758 pr_err("extension failed to load: %s", hook->name); in battery_hook_register()
759 battery_hook_unregister_unlocked(hook); in battery_hook_register()
765 pr_info("new extension: %s\n", hook->name); in battery_hook_register()
773 struct acpi_battery_hook *hook = data; in devm_battery_hook_unregister() local
775 battery_hook_unregister(hook); in devm_battery_hook_unregister()
778 int devm_battery_hook_register(struct device *dev, struct acpi_battery_hook *hook) in devm_battery_hook_register() argument
780 battery_hook_register(hook); in devm_battery_hook_register()
782 return devm_add_action_or_reset(dev, devm_battery_hook_unregister, hook); in devm_battery_hook_register()
821 struct acpi_battery_hook *hook; in battery_hook_remove_battery() local
828 list_for_each_entry(hook, &battery_hook_list, list) { in battery_hook_remove_battery()
829 hook->remove_battery(battery->bat, hook); in battery_hook_remove_battery()
838 struct acpi_battery_hook *hook; in battery_hook_exit() local
845 list_for_each_entry_safe(hook, ptr, &battery_hook_list, list) { in battery_hook_exit()
846 battery_hook_unregister(hook); in battery_hook_exit()