Re: [PATCH v6 6/9] soc: mediatek: mmsys: instantiate mdp virtual device from mmsys
From: Enric Balletbo Serra
Date: Tue Aug 03 2021 - 06:27:28 EST
Hi Eizan,
Thank you for your patch.
Missatge de Eizan Miyamoto <eizan@xxxxxxxxxxxx> del dia dl., 2 d’ag.
2021 a les 14:14:
>
> A virtual device that is probed by the mtk_mdp_core driver is
> instantiated by the mtk_mmsys driver.
>
> This better reflects the logical organization of the hardware and
> driver: there are a number of hardware blocks that are used by the MDP
> that have no strict hierarchy, and the software driver is responsible
> for driving them properly.
>
> Signed-off-by: Eizan Miyamoto <eizan@xxxxxxxxxxxx>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
> ---
>
> (no changes since v1)
>
> drivers/soc/mediatek/mtk-mmsys.c | 20 +++++++++++++++++++-
> 1 file changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> index 080660ef11bf..e681029fe804 100644
> --- a/drivers/soc/mediatek/mtk-mmsys.c
> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> @@ -97,6 +97,7 @@ static int mtk_mmsys_probe(struct platform_device *pdev)
> struct platform_device *clks;
> struct platform_device *drm;
> struct mtk_mmsys *mmsys;
> + struct platform_device *mdp;
> int ret;
>
> mmsys = devm_kzalloc(dev, sizeof(*mmsys), GFP_KERNEL);
> @@ -122,10 +123,27 @@ static int mtk_mmsys_probe(struct platform_device *pdev)
> PLATFORM_DEVID_AUTO, NULL, 0);
> if (IS_ERR(drm)) {
> platform_device_unregister(clks);
> - return PTR_ERR(drm);
> + ret = PTR_ERR(drm);
> + goto err_drm;
> + }
> +
> + mdp = platform_device_register_data(&pdev->dev, "mtk-mdp",
> + PLATFORM_DEVID_AUTO, NULL, 0);
> + if (IS_ERR(mdp)) {
> + ret = PTR_ERR(mdp);
> + dev_err(dev, "Failed to register mdp: %d\n", ret);
> + goto err_mdp;
> }
>
> return 0;
> +
> +err_mdp:
> + platform_device_unregister(drm);
> +
> +err_drm:
> + platform_device_unregister(clks);
> +
> + return ret;
> }
>
> static const struct of_device_id of_match_mtk_mmsys[] = {
> --
> 2.32.0.554.ge1b32706d8-goog
>