From 24cd048ad801aab6221f2b0bb4576dfc2fe25faa Mon Sep 17 00:00:00 2001 From: Dmitry Osipenko <dmitry.osipenko@collabora.com> Date: Tue, 2 Nov 2021 14:56:41 +0300 Subject: [PATCH] x86/platform/iris: Use register_platform_power_off() Utilize new register_platform_power_off() API that allows to register multiple power-off handlers and deprecates global pm_power_off callback. Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> --- arch/x86/platform/iris/iris.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/arch/x86/platform/iris/iris.c b/arch/x86/platform/iris/iris.c index b42bfdab01a99..e19c1fd52bf1c 100644 --- a/arch/x86/platform/iris/iris.c +++ b/arch/x86/platform/iris/iris.c @@ -11,6 +11,7 @@ #include <linux/moduleparam.h> #include <linux/module.h> #include <linux/platform_device.h> +#include <linux/reboot.h> #include <linux/kernel.h> #include <linux/errno.h> #include <linux/delay.h> @@ -33,8 +34,6 @@ static bool force; module_param(force, bool, 0); MODULE_PARM_DESC(force, "Set to one to force poweroff handler installation."); -static void (*old_pm_power_off)(void); - static void iris_power_off(void) { outb(IRIS_GIO_PULSE, IRIS_GIO_OUTPUT); @@ -56,15 +55,14 @@ static int iris_probe(struct platform_device *pdev) "Power off handler not installed.\n"); return -ENODEV; } - old_pm_power_off = pm_power_off; - pm_power_off = &iris_power_off; + register_platform_power_off(iris_power_off); printk(KERN_INFO "Iris power_off handler installed.\n"); return 0; } static int iris_remove(struct platform_device *pdev) { - pm_power_off = old_pm_power_off; + unregister_platform_power_off(iris_power_off); printk(KERN_INFO "Iris power_off handler uninstalled.\n"); return 0; } -- GitLab