[PATCH 2/2] cpufreq: brcmstb-avs-cpufreq: prefer SCMI cpufreq if supported
Viresh Kumar
viresh.kumar at linaro.org
Thu Apr 19 21:42:59 PDT 2018
On 19-04-18, 11:37, Sudeep Holla wrote:
>
>
> On 19/04/18 05:16, Viresh Kumar wrote:
> > On 18-04-18, 08:56, Markus Mayer wrote:
> >> From: Jim Quinlan <jim2101024 at gmail.com>
> >>
> >> If the SCMI cpufreq driver is supported, we bail, so that the new
> >> approach can be used.
> >>
> >> Signed-off-by: Jim Quinlan <jim2101024 at gmail.com>
> >> Signed-off-by: Markus Mayer <mmayer at broadcom.com>
> >> ---
> >> drivers/cpufreq/brcmstb-avs-cpufreq.c | 16 ++++++++++++++++
> >> 1 file changed, 16 insertions(+)
> >>
> >> diff --git a/drivers/cpufreq/brcmstb-avs-cpufreq.c b/drivers/cpufreq/brcmstb-avs-cpufreq.c
> >> index b07559b9ed99..b4861a730162 100644
> >> --- a/drivers/cpufreq/brcmstb-avs-cpufreq.c
> >> +++ b/drivers/cpufreq/brcmstb-avs-cpufreq.c
> >> @@ -164,6 +164,8 @@
> >> #define BRCM_AVS_CPU_INTR "brcm,avs-cpu-l2-intr"
> >> #define BRCM_AVS_HOST_INTR "sw_intr"
> >>
> >> +#define ARM_SCMI_COMPAT "arm,scmi"
> >> +
> >> struct pmap {
> >> unsigned int mode;
> >> unsigned int p1;
> >> @@ -511,6 +513,20 @@ static int brcm_avs_prepare_init(struct platform_device *pdev)
> >> struct device *dev;
> >> int host_irq, ret;
> >>
> >> + /*
> >> + * If the SCMI cpufreq driver is supported, we bail, so that the more
> >> + * modern approach can be used.
> >> + */
> >> + if (IS_ENABLED(CONFIG_ARM_SCMI_PROTOCOL)) {
> >> + struct device_node *np;
> >> +
> >> + np = of_find_compatible_node(NULL, NULL, ARM_SCMI_COMPAT);
> >> + if (np) {
> >> + of_node_put(np);
> >> + return -ENXIO;
> >> + }
> >> + }
> >> +
> >
> > What about adding !CONFIG_ARM_SCMI_PROTOCOL in Kconfig dependency and don't
> > compile the driver at all ?
> >
>
> Unfortunately, that may not be good idea with single image needing both
> configs to be enabled.
Sure, but looking at the above code, it looked like they don't need the other
config if SCMI is enabled.
--
viresh
More information about the linux-arm-kernel
mailing list