summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@kernel.org>2017-11-20 09:45:31 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-11-29 11:07:00 +0100
commita67e503b67a8b0d99c3fa96ae6c254ca5d8bb2ba (patch)
treef49d246c1a1988819d9d956afa3d3374b5acd30a /drivers/base
parent4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323 (diff)
downloadop-kernel-dev-a67e503b67a8b0d99c3fa96ae6c254ca5d8bb2ba.zip
op-kernel-dev-a67e503b67a8b0d99c3fa96ae6c254ca5d8bb2ba.tar.gz
firmware: add helper to unregister pm ops
This will be used later to unfold on error on init. Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/firmware_class.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 4b57cf5..149413a 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -1767,11 +1767,20 @@ static int fw_suspend(void)
static struct syscore_ops fw_syscore_ops = {
.suspend = fw_suspend,
};
+
+static inline void unregister_fw_pm_ops(void)
+{
+ unregister_syscore_ops(&fw_syscore_ops);
+ unregister_pm_notifier(&fw_cache.pm_notify);
+}
#else
static int fw_cache_piggyback_on_request(const char *name)
{
return 0;
}
+static inline void unregister_fw_pm_ops(void)
+{
+}
#endif
static void __init fw_cache_init(void)
@@ -1823,10 +1832,7 @@ static int __init firmware_class_init(void)
static void __exit firmware_class_exit(void)
{
-#ifdef CONFIG_PM_SLEEP
- unregister_syscore_ops(&fw_syscore_ops);
- unregister_pm_notifier(&fw_cache.pm_notify);
-#endif
+ unregister_fw_pm_ops();
unregister_reboot_notifier(&fw_shutdown_nb);
#ifdef CONFIG_FW_LOADER_USER_HELPER
class_unregister(&firmware_class);
OpenPOWER on IntegriCloud