@@ -703,28 +703,28 @@ static LIST_HEAD(acpi_battery_list);
703
703
static LIST_HEAD (battery_hook_list );
704
704
static DEFINE_MUTEX (hook_mutex );
705
705
706
- static void __battery_hook_unregister (struct acpi_battery_hook * hook , int lock )
706
+ static void battery_hook_unregister_unlocked (struct acpi_battery_hook * hook )
707
707
{
708
708
struct acpi_battery * battery ;
709
+
709
710
/*
710
711
* In order to remove a hook, we first need to
711
712
* de-register all the batteries that are registered.
712
713
*/
713
- if (lock )
714
- mutex_lock (& hook_mutex );
715
714
list_for_each_entry (battery , & acpi_battery_list , list ) {
716
715
if (!hook -> remove_battery (battery -> bat , hook ))
717
716
power_supply_changed (battery -> bat );
718
717
}
719
718
list_del (& hook -> list );
720
- if (lock )
721
- mutex_unlock (& hook_mutex );
719
+
722
720
pr_info ("extension unregistered: %s\n" , hook -> name );
723
721
}
724
722
725
723
void battery_hook_unregister (struct acpi_battery_hook * hook )
726
724
{
727
- __battery_hook_unregister (hook , 1 );
725
+ mutex_lock (& hook_mutex );
726
+ battery_hook_unregister_unlocked (hook );
727
+ mutex_unlock (& hook_mutex );
728
728
}
729
729
EXPORT_SYMBOL_GPL (battery_hook_unregister );
730
730
@@ -750,7 +750,7 @@ void battery_hook_register(struct acpi_battery_hook *hook)
750
750
* hooks.
751
751
*/
752
752
pr_err ("extension failed to load: %s" , hook -> name );
753
- __battery_hook_unregister (hook , 0 );
753
+ battery_hook_unregister_unlocked (hook );
754
754
goto end ;
755
755
}
756
756
@@ -804,7 +804,7 @@ static void battery_hook_add_battery(struct acpi_battery *battery)
804
804
*/
805
805
pr_err ("error in extension, unloading: %s" ,
806
806
hook_node -> name );
807
- __battery_hook_unregister (hook_node , 0 );
807
+ battery_hook_unregister_unlocked (hook_node );
808
808
}
809
809
}
810
810
mutex_unlock (& hook_mutex );
@@ -837,7 +837,7 @@ static void __exit battery_hook_exit(void)
837
837
* need to remove the hooks.
838
838
*/
839
839
list_for_each_entry_safe (hook , ptr , & battery_hook_list , list ) {
840
- __battery_hook_unregister (hook , 1 );
840
+ battery_hook_unregister (hook );
841
841
}
842
842
mutex_destroy (& hook_mutex );
843
843
}
0 commit comments