diff options
author | Hans de Goede <hdegoede@redhat.com> | 2022-08-26 13:14:53 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2022-08-26 13:16:20 +0200 |
commit | c35c7b9805971c6b09180a5570088940fd90ec56 (patch) | |
tree | 54005bf40c2f9f006ea7e196baae24f57ad3aeb6 /drivers/platform | |
parent | 57209ddd5be6c128cc18dad73c19d1b7f7cae6c1 (diff) |
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 <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220826111453.178962-2-hdegoede@redhat.com
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/msi-laptop.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c index 74829f766b88..1c29678e5727 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; |