The multimedia hardware subsystem contains all of the multimedia related sub-devices, and that really is by hardware design, not anything software related.
In order to allow specifying a correct description of the hardware in devicetrees, add support for probing subdevices of multimedia controllers, specified as subnodes. Acked-by: AngeloGioacchino Del Regno <[email protected]> Signed-off-by: AngeloGioacchino Del Regno <[email protected]> --- drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index f501a29a7697..6c02b898741c 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -12,6 +12,7 @@ #include <linux/io.h> #include <linux/module.h> #include <linux/of.h> +#include <linux/of_platform.h> #include <linux/platform_device.h> #include <linux/reset-controller.h> #include <linux/soc/mediatek/mtk-mmsys.h> @@ -489,6 +490,13 @@ static int mtk_mmsys_probe(struct platform_device *pdev) return PTR_ERR(clks); mmsys->clks_pdev = clks; + ret = devm_of_platform_populate(dev); + if (ret) { + dev_err(dev, "Failed to populate child devices: %d\n", ret); + platform_device_unregister(clks); + return ret; + } + if (mmsys->data->is_vppsys) goto out_probe_done; -- 2.54.0
