From: Hans de Goede Date: Fri, 26 Aug 2022 11:14:53 +0000 (+0200) Subject: platform/x86: msi-laptop: Add msi_scm_disable_hw_fn_handling() helper X-Git-Tag: v6.6.17~6495^2~51 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c35c7b9805971c6b09180a5570088940fd90ec56;p=platform%2Fkernel%2Flinux-rpi.git platform/x86: msi-laptop: Add msi_scm_disable_hw_fn_handling() helper Add a msi_scm_disable_hw_fn_handling() to remove the duplicate code for this in the resume and init paths. Signed-off-by: Hans de Goede Link: https://lore.kernel.org/r/20220826111453.178962-2-hdegoede@redhat.com --- diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c index 74829f7..1c29678 100644 --- a/drivers/platform/x86/msi-laptop.c +++ b/drivers/platform/x86/msi-laptop.c @@ -913,8 +913,7 @@ err_bluetooth: return retval; } -#ifdef CONFIG_PM_SLEEP -static int msi_laptop_resume(struct device *device) +static int msi_scm_disable_hw_fn_handling(void) { u8 data; int result; @@ -934,6 +933,12 @@ static int msi_laptop_resume(struct device *device) return 0; } + +#ifdef CONFIG_PM_SLEEP +static int msi_laptop_resume(struct device *device) +{ + return msi_scm_disable_hw_fn_handling(); +} #endif static int __init msi_laptop_input_setup(void) @@ -966,7 +971,6 @@ err_free_dev: static int __init load_scm_model_init(struct platform_device *sdev) { - u8 data; int result; if (!quirks->ec_read_only) { @@ -980,12 +984,7 @@ static int __init load_scm_model_init(struct platform_device *sdev) } /* disable hardware control by fn key */ - result = ec_read(MSI_STANDARD_EC_SCM_LOAD_ADDRESS, &data); - if (result < 0) - return result; - - result = ec_write(MSI_STANDARD_EC_SCM_LOAD_ADDRESS, - data | MSI_STANDARD_EC_SCM_LOAD_MASK); + result = msi_scm_disable_hw_fn_handling(); if (result < 0) return result;