@@ -297,6 +297,8 @@ static void amd_pmf_init_features(struct amd_pmf_dev *dev)
297
297
/* Enable Static Slider */
298
298
if (is_apmf_func_supported (dev , APMF_FUNC_STATIC_SLIDER_GRANULAR )) {
299
299
amd_pmf_init_sps (dev );
300
+ dev -> pwr_src_notifier .notifier_call = amd_pmf_pwr_src_notify_call ;
301
+ power_supply_reg_notifier (& dev -> pwr_src_notifier );
300
302
dev_dbg (dev -> dev , "SPS enabled and Platform Profiles registered\n" );
301
303
}
302
304
@@ -315,8 +317,10 @@ static void amd_pmf_init_features(struct amd_pmf_dev *dev)
315
317
316
318
static void amd_pmf_deinit_features (struct amd_pmf_dev * dev )
317
319
{
318
- if (is_apmf_func_supported (dev , APMF_FUNC_STATIC_SLIDER_GRANULAR ))
320
+ if (is_apmf_func_supported (dev , APMF_FUNC_STATIC_SLIDER_GRANULAR )) {
321
+ power_supply_unreg_notifier (& dev -> pwr_src_notifier );
319
322
amd_pmf_deinit_sps (dev );
323
+ }
320
324
321
325
if (is_apmf_func_supported (dev , APMF_FUNC_AUTO_MODE )) {
322
326
amd_pmf_deinit_auto_mode (dev );
@@ -399,9 +403,6 @@ static int amd_pmf_probe(struct platform_device *pdev)
399
403
apmf_install_handler (dev );
400
404
amd_pmf_dbgfs_register (dev );
401
405
402
- dev -> pwr_src_notifier .notifier_call = amd_pmf_pwr_src_notify_call ;
403
- power_supply_reg_notifier (& dev -> pwr_src_notifier );
404
-
405
406
dev_info (dev -> dev , "registered PMF device successfully\n" );
406
407
407
408
return 0 ;
@@ -411,7 +412,6 @@ static void amd_pmf_remove(struct platform_device *pdev)
411
412
{
412
413
struct amd_pmf_dev * dev = platform_get_drvdata (pdev );
413
414
414
- power_supply_unreg_notifier (& dev -> pwr_src_notifier );
415
415
amd_pmf_deinit_features (dev );
416
416
apmf_acpi_deinit (dev );
417
417
amd_pmf_dbgfs_unregister (dev );
0 commit comments