From: Dmitry Rokosov Date: Fri, 24 Mar 2023 14:55:57 +0000 (+0300) Subject: firmware: meson_sm: populate platform devices from sm device tree data X-Git-Tag: v6.4-rc1~170^2~18^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e45f243409db98d610248c843b25435e7fb0baf3;p=thirdparty%2Fkernel%2Flinux.git firmware: meson_sm: populate platform devices from sm device tree data In some meson boards, secure monitor device has children, for example, power secure controller. By default, secure monitor isn't the bus in terms of device tree subsystem, so the of_platform initialization code doesn't populate its device tree data. As a result, secure monitor's children aren't probed at all. Run the 'of_platform_populate()' routine manually to resolve such issues. Signed-off-by: Dmitry Rokosov Acked-by: Martin Blumenstingl Link: https://lore.kernel.org/r/20230324145557.27797-1-ddrokosov@sberdevices.ru Signed-off-by: Neil Armstrong --- diff --git a/drivers/firmware/meson/meson_sm.c b/drivers/firmware/meson/meson_sm.c index 3f5ff9ed668ef..798bcdb05d84e 100644 --- a/drivers/firmware/meson/meson_sm.c +++ b/drivers/firmware/meson/meson_sm.c @@ -311,11 +311,14 @@ static int __init meson_sm_probe(struct platform_device *pdev) platform_set_drvdata(pdev, fw); - pr_info("secure-monitor enabled\n"); + if (devm_of_platform_populate(dev)) + goto out_in_base; if (sysfs_create_group(&pdev->dev.kobj, &meson_sm_sysfs_attr_group)) goto out_in_base; + pr_info("secure-monitor enabled\n"); + return 0; out_in_base: