mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
cpufreq: scmi: Account for malformed DT in scmi_dev_used_by_cpus()
Broadcom STB platforms were early adopters (2017) of the SCMI framework and as a result, not all deployed systems have a Device Tree entry where SCMI protocol 0x13 (PERFORMANCE) is declared as a clock provider, nor are the CPU Device Tree node(s) referencing protocol 0x13 as their clock provider. This was clarified in commite11c480b6d("dt-bindings: firmware: arm,scmi: Extend bindings for protocol@13") in 2023. For those platforms, we allow the checks done by scmi_dev_used_by_cpus() to continue, and in the event of not having done an early return, we key off the documented compatible string and give them a pass to continue to use scmi-cpufreq. Fixes:6c9bb86922("cpufreq: scmi: Skip SCMI devices that aren't used by the CPUs") Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
parent
23fca458f6
commit
cd5d4621ba
|
|
@ -15,6 +15,7 @@
|
|||
#include <linux/energy_model.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/pm_opp.h>
|
||||
#include <linux/pm_qos.h>
|
||||
#include <linux/slab.h>
|
||||
|
|
@ -424,6 +425,15 @@ static bool scmi_dev_used_by_cpus(struct device *scmi_dev)
|
|||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Older Broadcom STB chips had a "clocks" property for CPU node(s)
|
||||
* that did not match the SCMI performance protocol node, if we got
|
||||
* there, it means we had such an older Device Tree, therefore return
|
||||
* true to preserve backwards compatibility.
|
||||
*/
|
||||
if (of_machine_is_compatible("brcm,brcmstb"))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user