[PATCH] platform/x86/amd/pmf: Fix a missing cleanup path

Mario Limonciello posted 1 patch 2 years, 3 months ago
drivers/platform/x86/amd/pmf/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] platform/x86/amd/pmf: Fix a missing cleanup path
Posted by Mario Limonciello 2 years, 3 months ago
On systems that support slider notifications but don't otherwise support
granular slider the SPS cleanup path doesn't run.

This means that loading/unloading/loading leads to failures because
the sysfs files don't get setup properly when reloaded.

Add the missing cleanup path.

Fixes: 33c9ab5b493a ("platform/x86/amd/pmf: Notify OS power slider update")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/platform/x86/amd/pmf/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/amd/pmf/core.c b/drivers/platform/x86/amd/pmf/core.c
index 7780705917b76..8f93681c5c9c5 100644
--- a/drivers/platform/x86/amd/pmf/core.c
+++ b/drivers/platform/x86/amd/pmf/core.c
@@ -317,7 +317,8 @@ static void amd_pmf_init_features(struct amd_pmf_dev *dev)
 
 static void amd_pmf_deinit_features(struct amd_pmf_dev *dev)
 {
-	if (is_apmf_func_supported(dev, APMF_FUNC_STATIC_SLIDER_GRANULAR)) {
+	if (is_apmf_func_supported(dev, APMF_FUNC_STATIC_SLIDER_GRANULAR) ||
+	    is_apmf_func_supported(dev, APMF_FUNC_OS_POWER_SLIDER_UPDATE)) {
 		power_supply_unreg_notifier(&dev->pwr_src_notifier);
 		amd_pmf_deinit_sps(dev);
 	}

base-commit: 65c6ea33e7f63799090158866cdcfdfe8d63ce16
-- 
2.34.1
Re: [PATCH] platform/x86/amd/pmf: Fix a missing cleanup path
Posted by Hans de Goede 2 years, 3 months ago
Hi,

On 8/23/23 20:54, Mario Limonciello wrote:
> On systems that support slider notifications but don't otherwise support
> granular slider the SPS cleanup path doesn't run.
> 
> This means that loading/unloading/loading leads to failures because
> the sysfs files don't get setup properly when reloaded.
> 
> Add the missing cleanup path.Thank you for your patch, I've applied this patch to my review-hans 
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans




> Fixes: 33c9ab5b493a ("platform/x86/amd/pmf: Notify OS power slider update")
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>



> ---
>  drivers/platform/x86/amd/pmf/core.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/x86/amd/pmf/core.c b/drivers/platform/x86/amd/pmf/core.c
> index 7780705917b76..8f93681c5c9c5 100644
> --- a/drivers/platform/x86/amd/pmf/core.c
> +++ b/drivers/platform/x86/amd/pmf/core.c
> @@ -317,7 +317,8 @@ static void amd_pmf_init_features(struct amd_pmf_dev *dev)
>  
>  static void amd_pmf_deinit_features(struct amd_pmf_dev *dev)
>  {
> -	if (is_apmf_func_supported(dev, APMF_FUNC_STATIC_SLIDER_GRANULAR)) {
> +	if (is_apmf_func_supported(dev, APMF_FUNC_STATIC_SLIDER_GRANULAR) ||
> +	    is_apmf_func_supported(dev, APMF_FUNC_OS_POWER_SLIDER_UPDATE)) {
>  		power_supply_unreg_notifier(&dev->pwr_src_notifier);
>  		amd_pmf_deinit_sps(dev);
>  	}
> 
> base-commit: 65c6ea33e7f63799090158866cdcfdfe8d63ce16