diff options
author | Luis R. Rodriguez <mcgrof@kernel.org> | 2017-11-20 09:45:31 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-11-29 11:07:00 +0100 |
commit | a67e503b67a8b0d99c3fa96ae6c254ca5d8bb2ba (patch) | |
tree | f49d246c1a1988819d9d956afa3d3374b5acd30a /drivers/base | |
parent | 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323 (diff) | |
download | linux-stable-a67e503b67a8b0d99c3fa96ae6c254ca5d8bb2ba.tar.gz linux-stable-a67e503b67a8b0d99c3fa96ae6c254ca5d8bb2ba.tar.bz2 linux-stable-a67e503b67a8b0d99c3fa96ae6c254ca5d8bb2ba.zip |
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.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index 4b57cf5bc81d..149413a376cf 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); |