> -----Original Message----- > From: Sudeep Holla <sudeep.ho...@arm.com> > Sent: Wednesday, May 23, 2018 13:40 > To: Ilia Lin <ilia...@codeaurora.org>; vire...@kernel.org; n...@ti.com; > sb...@kernel.org; r...@kernel.org; mark.rutl...@arm.com; > r...@rjwysocki.net; linux...@vger.kernel.org; devicet...@vger.kernel.org; > linux-kernel@vger.kernel.org > Cc: Sudeep Holla <sudeep.ho...@arm.com> > Subject: Re: [PATCH v10 1/2] cpufreq: Add Kryo CPU scaling driver > > > > On 23/05/18 10:40, Ilia Lin wrote: > > In Certain QCOM SoCs like apq8096 and msm8996 that have KRYO > > processors, the CPU frequency subset and voltage value of each OPP > > varies based on the silicon variant in use. Qualcomm Process Voltage > > Scaling Tables defines the voltage and frequency value based on the > > msm-id in SMEM and speedbin blown in the efuse combination. > > The qcom-cpufreq-kryo driver reads the msm-id and efuse value from the > > SoC to provide the OPP framework with required information. > > This is used to determine the voltage and frequency value for each OPP > > of > > operating-points-v2 table when it is parsed by the OPP framework. > > > > Signed-off-by: Ilia Lin <ilia...@codeaurora.org> > > [...] > > > + pdev = platform_device_register_simple("cpufreq-dt", -1, NULL, 0); > > + if (!IS_ERR(pdev)) > > + return 0; > > + > > + ret = PTR_ERR(pdev); > > + dev_err(cpu_dev, "Failed to register platform device\n"); > > + > > +free_opp: > > + for_each_possible_cpu(cpu) { > > + if (IS_ERR_OR_NULL(opp_tables[cpu])) > > + break; > > + dev_pm_opp_put_supported_hw(opp_tables[cpu]); > > + } > > +free_np: > > + of_node_put(np); > > + > > + return ret; > > +} > > +late_initcall(qcom_cpufreq_kryo_driver_init); > > Any particular reason why this *has* to be late initcall ? > Please change it to module_initcall otherwise.
The purpose is to give the cpufreq-dt the time to register the driver and only then my driver will add the platform device. > Also address the of_node comments from Viresh. > > Otherwise, it looks good. > -- > Regards, > Sudeep