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

Enric Balletbo Serra eballetbo at gmail.com
Tue Aug 3 03:27:07 PDT 2021


Hi Eizan,

Thank you for your patch.

Missatge de Eizan Miyamoto <eizan at chromium.org> 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 at chromium.org>

Reviewed-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>


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



More information about the linux-arm-kernel mailing list