Thread (42 messages) 42 messages, 6 authors, 2021-08-18

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

From: Enric Balletbo Serra <eballetbo@gmail.com>
Date: 2021-08-03 10:27:28
Also in: linux-devicetree, linux-mediatek, lkml

Hi Eizan,

Thank you for your patch.

Missatge de Eizan Miyamoto [off-list ref] 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 <redacted>
Reviewed-by: Enric Balletbo i Serra <redacted>

quoted hunk ↗ jump to hunk
---

(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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help