On Thu, Feb 06, 2020 at 05:26:22PM +1100, Oliver O'Halloran wrote: > The PowerNV cpufreq driver registers two notifiers: one to catch throttle > messages from the OCC and one to bump the CPU frequency back to normal > before a reboot. Both require the cpufreq driver to be registered in order > to function since the notifier callbacks use various cpufreq_*() functions. > > Right now we register both notifiers before we've initialised the driver. > This seems to work, but we should head off any protential problems by > registering the notifiers after the driver is initialised. > > Cc: Vaidyanathan Srinivasan <sva...@linux.vnet.ibm.com> > Signed-off-by: Oliver O'Halloran <ooh...@gmail.com>
Reviewed-by: Gautham R. Shenoy <e...@linux.vnet.ibm.com> > --- > drivers/cpufreq/powernv-cpufreq.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/cpufreq/powernv-cpufreq.c > b/drivers/cpufreq/powernv-cpufreq.c > index 1806b1d..03798c4 100644 > --- a/drivers/cpufreq/powernv-cpufreq.c > +++ b/drivers/cpufreq/powernv-cpufreq.c > @@ -1114,9 +1114,6 @@ static int __init powernv_cpufreq_init(void) > if (rc) > goto out; > > - register_reboot_notifier(&powernv_cpufreq_reboot_nb); > - opal_message_notifier_register(OPAL_MSG_OCC, &powernv_cpufreq_opal_nb); > - > if (powernv_pstate_info.wof_enabled) > powernv_cpufreq_driver.boost_enabled = true; > else > @@ -1125,15 +1122,17 @@ static int __init powernv_cpufreq_init(void) > rc = cpufreq_register_driver(&powernv_cpufreq_driver); > if (rc) { > pr_info("Failed to register the cpufreq driver (%d)\n", rc); > - goto cleanup_notifiers; > + goto cleanup; > } > > if (powernv_pstate_info.wof_enabled) > cpufreq_enable_boost_support(); > > + register_reboot_notifier(&powernv_cpufreq_reboot_nb); > + opal_message_notifier_register(OPAL_MSG_OCC, &powernv_cpufreq_opal_nb); > + > return 0; > -cleanup_notifiers: > - unregister_all_notifiers(); > +cleanup: > clean_chip_info(); > out: > pr_info("Platform driver disabled. System does not support PState > control\n"); > -- > 2.9.5 >