Re: [PATCH v6 6/9] soc: mediatek: mmsys: instantiate mdp virtual device from mmsys

From: houlong wei
Date: Sun Aug 15 2021 - 21:18:29 EST


On Mon, 2021-08-02 at 20:12 +0800, Eizan Miyamoto wrote:
> 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: Houlong Wei <houlong.wei@xxxxxxxxxxxx>

> (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
>