[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