Message ID | 20200429021720.6653-3-peng.fan@nxp.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/7] uclass: cpu: Add new API to get udevice for current CPU | expand |
On Tue, 28 Apr 2020 at 19:54, Peng Fan <peng.fan at nxp.com> wrote: > > Return 4 is not correct on i.MX8DX/DXL/8QM and etc. we need to count > available cpu node with device_type "cpu". > > Signed-off-by: Peng Fan <peng.fan at nxp.com> > --- > drivers/cpu/imx8_cpu.c | 19 ++++++++++++++++++- > 1 file changed, 18 insertions(+), 1 deletion(-) > Reviewed-by: Simon Glass <sjg at chromium.org>
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c index 95653683ac..7c54c290b8 100644 --- a/drivers/cpu/imx8_cpu.c +++ b/drivers/cpu/imx8_cpu.c @@ -118,7 +118,24 @@ static int cpu_imx_get_info(struct udevice *dev, struct cpu_info *info) static int cpu_imx_get_count(struct udevice *dev) { - return 4; + ofnode node; + int num = 0; + + ofnode_for_each_subnode(node, dev_ofnode(dev->parent)) { + const char *device_type; + + if (!ofnode_is_available(node)) + continue; + + device_type = ofnode_read_string(node, "device_type"); + if (!device_type) + continue; + + if (!strcmp(device_type, "cpu")) + num++; + } + + return num; } static int cpu_imx_get_vendor(struct udevice *dev, char *buf, int size)
Return 4 is not correct on i.MX8DX/DXL/8QM and etc. we need to count available cpu node with device_type "cpu". Signed-off-by: Peng Fan <peng.fan at nxp.com> --- drivers/cpu/imx8_cpu.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-)