Skip to content

Commit 629be87

Browse files
LiHuiSong1rafaeljw
authored andcommitted
cpuidle: Simplify cpuidle_register_device() with guard()
Use guard() macro for mutex to simplify the control flow in cpuidle_register_device(). Signed-off-by: Huisong Li <lihuisong@huawei.com> Link: https://patch.msgid.link/20260403084542.708104-1-lihuisong@huawei.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 9d3a068 commit 629be87

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

drivers/cpuidle/cpuidle.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -679,16 +679,16 @@ int cpuidle_register_device(struct cpuidle_device *dev)
679679
if (!dev)
680680
return -EINVAL;
681681

682-
mutex_lock(&cpuidle_lock);
682+
guard(mutex)(&cpuidle_lock);
683683

684684
if (dev->registered)
685-
goto out_unlock;
685+
return ret;
686686

687687
__cpuidle_device_init(dev);
688688

689689
ret = __cpuidle_register_device(dev);
690690
if (ret)
691-
goto out_unlock;
691+
return ret;
692692

693693
ret = cpuidle_add_sysfs(dev);
694694
if (ret)
@@ -700,16 +700,14 @@ int cpuidle_register_device(struct cpuidle_device *dev)
700700

701701
cpuidle_install_idle_handler();
702702

703-
out_unlock:
704-
mutex_unlock(&cpuidle_lock);
705-
706703
return ret;
707704

708705
out_sysfs:
709706
cpuidle_remove_sysfs(dev);
710707
out_unregister:
711708
__cpuidle_unregister_device(dev);
712-
goto out_unlock;
709+
710+
return ret;
713711
}
714712

715713
EXPORT_SYMBOL_GPL(cpuidle_register_device);

0 commit comments

Comments
 (0)