From patchwork Mon Jul 3 07:27:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Inki Dae X-Patchwork-Id: 9822065 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8423F60237 for ; Mon, 3 Jul 2017 07:28:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 70BFF26E51 for ; Mon, 3 Jul 2017 07:28:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6550C28503; Mon, 3 Jul 2017 07:28:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B1D9B26E51 for ; Mon, 3 Jul 2017 07:28:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1369289807; Mon, 3 Jul 2017 07:28:06 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2513589838 for ; Mon, 3 Jul 2017 07:28:04 +0000 (UTC) Received: from epcas1p4.samsung.com (unknown [182.195.41.48]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20170703072802epoutp03ab664eb1763103b1b92cc23a5d60873a~NwWMR836K1754717547epoutp032; Mon, 3 Jul 2017 07:28:02 +0000 (GMT) Received: from epsmges1p3.samsung.com (unknown [182.195.40.66]) by epcas1p3.samsung.com (KnoxPortal) with ESMTP id 20170703072801epcas1p374562935c480544adaef23297389db4b~NwWL8fXLr2919729197epcas1p3H; Mon, 3 Jul 2017 07:28:01 +0000 (GMT) Received: from epcas1p3.samsung.com ( [182.195.41.47]) by epsmges1p3.samsung.com (Symantec Messaging Gateway) with SMTP id 41.CB.06724.102F9595; Mon, 3 Jul 2017 16:28:01 +0900 (KST) Received: from epsmgms2p1.samsung.com (unknown [182.195.42.79]) by epcas1p3.samsung.com (KnoxPortal) with ESMTP id 20170703072801epcas1p3cbabe54a8457771f906378b1036294b6~NwWLtX8qi0089500895epcas1p35; Mon, 3 Jul 2017 07:28:01 +0000 (GMT) X-AuditID: b6c32a37-f79c96d000001a44-1d-5959f201e51e Received: from epmmp1.local.host ( [203.254.227.16]) by epsmgms2p1.samsung.com (Symantec Messaging Gateway) with SMTP id 60.88.05076.102F9595; Mon, 3 Jul 2017 16:28:01 +0900 (KST) Received: from localhost.localdomain ([10.113.62.206]) by mmp1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OSI00CK67EOIBA0@mmp1.samsung.com>; Mon, 03 Jul 2017 16:28:01 +0900 (KST) From: Inki Dae To: dri-devel@lists.freedesktop.org Subject: [PATCH 1/2] drm/exynos: dsi: move of_drm_find_bridge call into probe Date: Mon, 03 Jul 2017 16:27:58 +0900 Message-id: <1499066879-13241-2-git-send-email-inki.dae@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1499066879-13241-1-git-send-email-inki.dae@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJKsWRmVeSWpSXmKPExsWy7bCmvi7jp8hIgyl7jC2ufH3PZjHp/gQW ixnn9zFZTP3ygcWBxeN+93Emjy39d9k9+rasYvT4vEkugCUq1SYjNTEltUghNS85PyUzL91W yTs43jne1MzAUNfQ0sJcSSEvMTfVVsnFJ0DXLTMHaKWSQlliTilQKCCxuFhJ386mKL+0JFUh I7+4xFYp2tDQSM/QwFzPyMhIz8Q41srIFKgkITXjz9oLbAVTBCs6pjxmaWDcydfFyMEhIWAi seytexcjJ5ApJnHh3nq2LkYuDiGBHYwSL763MkM4nxkl5u28wgZRZSLR87AVoepc0112kISQ wA9GiSn7wEaxCahKTFxxH6xBREBZ4u/EVYwg25gF8iRezBMGCQsL+Et83fwBrJUFqPz1meOs IDavgIvE05u9jBC75CROHpsMFucUcJV4sfgzC8heCYEDbBJ/Z29kh/hAVmLTAWYI00Xi0ztO iFZhiVfHt7BD2FISjS8fMkG0tjNKtM08wwrhtDBK/O+5wgJRZSxxqquRCcRmFuCTePe1hxVi KK9ER5sQhOkhMfmXBUS1o8SWs2+h4TODUeLUq4MsExhlFjAyrGIUSy0ozk1PLTYsMNYrTswt Ls1L10vOz93ECE4mWuY7GDec8znEKMDBqMTD+6I4MlKINbGsuDL3EKMEB7OSCO+MF0Ah3pTE yqrUovz4otKc1OJDjKbAYJrILCWanA9MdHkl8YYmlgYmZkbABGJpaKgkziu2/lqEkEB6Yklq dmpqQWoRTB8TB6dUA6OlnPSUVc4/3Fs9n4nzTrf02pOjHX1xw54V2/INnsWlfj2vcOT883DP 0+tzZud7v+y7lHvuSfKRZVrX+OqMT/PnBrJ8Zj6oV9mYfFCE0UDhpMORGcd4Nhn/brdS+apR dmD6a2n5Itk9hoWshzac/1n+fkp56bvrjJvtd/XIvo9b+uqv94Y9sxuUWIozEg21mIuKEwF4 AfHmPAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNLMWRmVeSWpSXmKPExsVy+t9jAV3GT5GRBtNWqlhc+fqezWLS/Qks FjPO72OymPrlA4sDi8f97uNMHlv677J79G1ZxejxeZNcAEuUm01GamJKapFCal5yfkpmXrqt UmiIm66FkkJeYm6qrVKErm9IkJJCWWJOKZBnZIAGHJwD3IOV9O0S3DL+rL3AVjBFsKJjymOW BsadfF2MnBwSAiYSPQ9b2SBsMYkL99YD2VwcQgLbGCUaf81ngnB+MEps3L+JEaSKTUBVYuKK +2AdIgLKEn8nrgKLMwvkScw6OZkVxBYW8JXYtvIUO4jNAlT/+sxxsDivgIvE05u9jBDb5CRO HoOo5xRwlXix+DMLiC0EVPP++SfWCYy8CxgZVjFypRYU56bnFhsVGG5iBAbktsNa/jsYf5yN PsQowMGoxMP7ojgyUog1say4MvcQowQHs5II74wXQCHelMTKqtSi/Pii0pzU4kOMpkCnTGSW Ek3OB0ZLXkm8oYmlkYmBmZmhkYGxmZI474TALxFCAumJJanZqakFqUUwfUwcnFINjAtnCASx W//fvMft8iT3mYxPVvys0019/qp5c/n1oi17jUSjqi2Dt28t9l/d99IwsnxZbehy+5u8U9jm 2jDq/0hifPGsh7vJUCh+mf1NxbNcB6Wkp9+Y7SZmtObY/hk/V8ZU3DOWZdry5O7q/atC/q4Q zVmq2fGB1fRi7Otlnwp2yvZdr1MW9VNiKc5INNRiLipOBACpdKW8XgIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170703072801epcas1p3cbabe54a8457771f906378b1036294b6 X-Msg-Generator: CA X-Sender-IP: 182.195.42.79 X-Local-Sender: =?UTF-8?B?64yA7J246riwG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbU2VuaW9yIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?SW5raSBEYWUbVGl6ZW4gUGxhdGZvcm0gTGFiLhtTYW1zdW5n?= =?UTF-8?B?IEVsZWN0cm9uaWNzG1NlbmlvciBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG1RFTEUbQzEwVjgxMTE=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20170703072801epcas1p3cbabe54a8457771f906378b1036294b6 X-RootMTR: 20170703072801epcas1p3cbabe54a8457771f906378b1036294b6 References: <1499066879-13241-1-git-send-email-inki.dae@samsung.com> Cc: linux-samsung-soc@vger.kernel.org, Shuah Khan X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP This patch moves of_drm_find_bridge call into probe. It doesn't need to call of_drm_find_bridge function every time bind callback is called. It's enough to call this funcation at probe one time. Suggested-by: Inki Dae Signed-off-by: Shuah Khan Signed-off-by: Inki Dae --- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index b6a46d9..2412b23 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1661,7 +1661,6 @@ static int exynos_dsi_bind(struct device *dev, struct device *master, struct drm_encoder *encoder = dev_get_drvdata(dev); struct exynos_dsi *dsi = encoder_to_dsi(encoder); struct drm_device *drm_dev = data; - struct drm_bridge *bridge; int ret; ret = exynos_drm_crtc_get_pipe_from_type(drm_dev, @@ -1685,12 +1684,6 @@ static int exynos_dsi_bind(struct device *dev, struct device *master, return ret; } - if (dsi->bridge_node) { - bridge = of_drm_find_bridge(dsi->bridge_node); - if (bridge) - drm_bridge_attach(encoder, bridge, NULL); - } - return mipi_dsi_host_register(&dsi->dsi_host); } @@ -1798,6 +1791,18 @@ static int exynos_dsi_probe(struct platform_device *pdev) platform_set_drvdata(pdev, &dsi->encoder); + if (dsi->bridge_node) { + struct drm_bridge *bridge; + + bridge = of_drm_find_bridge(dsi->bridge_node); + if (!bridge) + return -EPROBE_DEFER; + + of_node_put(dsi->bridge_node); + drm_bridge_attach(&dsi->encoder, bridge, NULL); + } + + pm_runtime_enable(dev); return component_add(dev, &exynos_dsi_component_ops); @@ -1805,10 +1810,6 @@ static int exynos_dsi_probe(struct platform_device *pdev) static int exynos_dsi_remove(struct platform_device *pdev) { - struct exynos_dsi *dsi = platform_get_drvdata(pdev); - - of_node_put(dsi->bridge_node); - pm_runtime_disable(&pdev->dev); component_del(&pdev->dev, &exynos_dsi_component_ops);