* [PATCH 0/2] drm/exynos: dp: add of_graph dt binding for panel device @ 2015-11-26 12:47 Inki Dae 2015-11-26 12:47 ` [PATCH 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae 2015-11-26 12:47 ` [PATCH 2/2] drm/exynos: dp: fix wrong return type Inki Dae 0 siblings, 2 replies; 5+ messages in thread From: Inki Dae @ 2015-11-26 12:47 UTC (permalink / raw) To: dri-devel; +Cc: airlied, linux-samsung-soc, javier, Inki Dae This patch series adds of_graph dt binding for panel device and fixes wrong return type when the dt binding of bridge device failed. Inki Dae (2): drm/exynos: dp: add of_graph dt binding support for panel drm/exynos: dp: fix wrong return type drivers/gpu/drm/exynos/exynos_dp_core.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) -- 1.9.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-11-26 12:47 [PATCH 0/2] drm/exynos: dp: add of_graph dt binding for panel device Inki Dae @ 2015-11-26 12:47 ` Inki Dae 2015-11-26 12:47 ` [PATCH 2/2] drm/exynos: dp: fix wrong return type Inki Dae 1 sibling, 0 replies; 5+ messages in thread From: Inki Dae @ 2015-11-26 12:47 UTC (permalink / raw) To: dri-devel; +Cc: airlied, linux-samsung-soc, javier, Inki Dae This patch adds of_graph dt binding support for panel device and also keeps the backward compatibility. i.e., The dts file for Exynos5800 based peach pi board has a panel property so we need to keep the backward compatibility. Signed-off-by: Inki Dae <inki.dae@samsung.com> --- drivers/gpu/drm/exynos/exynos_dp_core.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c index 94f02a0..0b53045 100644 --- a/drivers/gpu/drm/exynos/exynos_dp_core.c +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c @@ -1392,7 +1392,7 @@ static const struct component_ops exynos_dp_ops = { static int exynos_dp_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; - struct device_node *panel_node, *bridge_node, *endpoint; + struct device_node *panel_node = NULL, *bridge_node, *endpoint = NULL; struct exynos_dp_device *dp; int ret; @@ -1403,15 +1403,32 @@ static int exynos_dp_probe(struct platform_device *pdev) platform_set_drvdata(pdev, dp); + /* This is for the backward compatibility. */ panel_node = of_parse_phandle(dev->of_node, "panel", 0); if (panel_node) { dp->panel = of_drm_find_panel(panel_node); of_node_put(panel_node); if (!dp->panel) return -EPROBE_DEFER; + } else { + endpoint = of_graph_get_next_endpoint(dev->of_node, NULL); + if (endpoint) { + panel_node = of_graph_get_remote_port_parent(endpoint); + if (panel_node) { + dp->panel = of_drm_find_panel(panel_node); + of_node_put(panel_node); + if (!dp->panel) + return -EPROBE_DEFER; + } else { + DRM_ERROR("no port node for panel device.\n"); + return -ENXIO; + } + } } - endpoint = of_graph_get_next_endpoint(dev->of_node, NULL); + panel_node = !endpoint ? NULL : panel_node; + + endpoint = of_graph_get_next_endpoint(dev->of_node, panel_node); if (endpoint) { bridge_node = of_graph_get_remote_port_parent(endpoint); if (bridge_node) { -- 1.9.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] drm/exynos: dp: fix wrong return type 2015-11-26 12:47 [PATCH 0/2] drm/exynos: dp: add of_graph dt binding for panel device Inki Dae 2015-11-26 12:47 ` [PATCH 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae @ 2015-11-26 12:47 ` Inki Dae 2015-11-26 13:35 ` Javier Martinez Canillas 1 sibling, 1 reply; 5+ messages in thread From: Inki Dae @ 2015-11-26 12:47 UTC (permalink / raw) To: dri-devel; +Cc: airlied, linux-samsung-soc, javier, Inki Dae This patch fixes wrong return type when dt binding of bridge device failed. If a board has a bridge device then of_graph_get_remote_port_parent function shouldn't be NULL. So this patch will return a proper error type so that the deferred probe isn't triggered. Signed-off-by: Inki Dae <inki.dae@samsung.com> --- drivers/gpu/drm/exynos/exynos_dp_core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c index 0b53045..c77fb83 100644 --- a/drivers/gpu/drm/exynos/exynos_dp_core.c +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c @@ -1436,8 +1436,10 @@ static int exynos_dp_probe(struct platform_device *pdev) of_node_put(bridge_node); if (!dp->ptn_bridge) return -EPROBE_DEFER; - } else - return -EPROBE_DEFER; + } else { + DRM_ERROR("no port node for bridge device.\n"); + return -ENXIO; + } } pm_runtime_enable(dev); -- 1.9.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] drm/exynos: dp: fix wrong return type 2015-11-26 12:47 ` [PATCH 2/2] drm/exynos: dp: fix wrong return type Inki Dae @ 2015-11-26 13:35 ` Javier Martinez Canillas 2015-12-02 11:51 ` Inki Dae 0 siblings, 1 reply; 5+ messages in thread From: Javier Martinez Canillas @ 2015-11-26 13:35 UTC (permalink / raw) To: Inki Dae, dri-devel; +Cc: airlied, linux-samsung-soc, Ajay Kumar [adding Ajay Kumar who added the bridge support] Hello Inki, On 11/26/2015 09:47 AM, Inki Dae wrote: > This patch fixes wrong return type when dt binding of bridge device > failed. > > If a board has a bridge device then of_graph_get_remote_port_parent > function shouldn't be NULL. So this patch will return a proper error > type so that the deferred probe isn't triggered. > > Signed-off-by: Inki Dae <inki.dae@samsung.com> > --- > drivers/gpu/drm/exynos/exynos_dp_core.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c > index 0b53045..c77fb83 100644 > --- a/drivers/gpu/drm/exynos/exynos_dp_core.c > +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c > @@ -1436,8 +1436,10 @@ static int exynos_dp_probe(struct platform_device *pdev) > of_node_put(bridge_node); > if (!dp->ptn_bridge) > return -EPROBE_DEFER; > - } else > - return -EPROBE_DEFER; > + } else { > + DRM_ERROR("no port node for bridge device.\n"); > + return -ENXIO; > + } > } > As I mentioned in the other thread, I wonder if -ENXIO is the best errno code in this case. Shouldn't -EINVAL be more appropriate since is about an invalid DTB? > pm_runtime_enable(dev); > Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] drm/exynos: dp: fix wrong return type 2015-11-26 13:35 ` Javier Martinez Canillas @ 2015-12-02 11:51 ` Inki Dae 0 siblings, 0 replies; 5+ messages in thread From: Inki Dae @ 2015-12-02 11:51 UTC (permalink / raw) To: Javier Martinez Canillas, dri-devel; +Cc: linux-samsung-soc, Ajay Kumar Hi Javier, 2015년 11월 26일 22:35에 Javier Martinez Canillas 이(가) 쓴 글: > [adding Ajay Kumar who added the bridge support] > > Hello Inki, > > On 11/26/2015 09:47 AM, Inki Dae wrote: >> This patch fixes wrong return type when dt binding of bridge device >> failed. >> >> If a board has a bridge device then of_graph_get_remote_port_parent >> function shouldn't be NULL. So this patch will return a proper error >> type so that the deferred probe isn't triggered. >> >> Signed-off-by: Inki Dae <inki.dae@samsung.com> >> --- >> drivers/gpu/drm/exynos/exynos_dp_core.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c >> index 0b53045..c77fb83 100644 >> --- a/drivers/gpu/drm/exynos/exynos_dp_core.c >> +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c >> @@ -1436,8 +1436,10 @@ static int exynos_dp_probe(struct platform_device *pdev) >> of_node_put(bridge_node); >> if (!dp->ptn_bridge) >> return -EPROBE_DEFER; >> - } else >> - return -EPROBE_DEFER; >> + } else { >> + DRM_ERROR("no port node for bridge device.\n"); >> + return -ENXIO; >> + } >> } >> > > As I mentioned in the other thread, I wonder if -ENXIO is the best errno > code in this case. Shouldn't -EINVAL be more appropriate since is about > an invalid DTB? Seems better to use -EINVAL. Thanks, Inki Dae > >> pm_runtime_enable(dev); >> > > Best regards, > _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-12-02 11:51 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-11-26 12:47 [PATCH 0/2] drm/exynos: dp: add of_graph dt binding for panel device Inki Dae 2015-11-26 12:47 ` [PATCH 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae 2015-11-26 12:47 ` [PATCH 2/2] drm/exynos: dp: fix wrong return type Inki Dae 2015-11-26 13:35 ` Javier Martinez Canillas 2015-12-02 11:51 ` Inki Dae
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.