From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753327AbdEJN4I (ORCPT ); Wed, 10 May 2017 09:56:08 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:59371 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753246AbdEJN4G (ORCPT ); Wed, 10 May 2017 09:56:06 -0400 Message-ID: <1494424550.2422.5.camel@pengutronix.de> Subject: Re: [PATCH v2] drm/imx: imx-ldb: Accept drm_of_find_panel_or_bridge failure From: Philipp Zabel To: Leonard Crestez Cc: Rob Herring , David Airlie , Daniel Vetter , Jani Nikula , Sean Paul , Archit Taneja , Liu Ying , Lucas Stach , Steve Longerbeam , Peter Senna Tschudin , Cristina Ciocan , Octavian Purdila , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Date: Wed, 10 May 2017 15:55:50 +0200 In-Reply-To: <02532be0049e69fe8e9f8da04fbbcf813d250a39.1494419445.git.leonard.crestez@nxp.com> References: <02532be0049e69fe8e9f8da04fbbcf813d250a39.1494419445.git.leonard.crestez@nxp.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.9-1+b1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 2001:67c:670:100:3ad5:47ff:feaf:1a17 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-05-10 at 16:17 +0300, Leonard Crestez wrote: > Not having an endpoint bound in DT should not cause a failure here, > there are fallbacks. So explicitly accept a missing endpoint. > > This behavior change was introduced by refactoring in drm_of parsing > code and it should not require dts changes. > > In particular this fixes imx6qdl-sabreauto boards. > > Link: https://lists.freedesktop.org/archives/dri-devel/2017-May/141233.html > Fixes: ebc944613567 ("drm: convert drivers to use drm_of_find_panel_or_bridge") > Signed-off-by: Leonard Crestez > > --- > > This relies on drm_of_find_panel_or_bridge returning -ENODEV > specifically if no remote is found for the endpoint. This behavior can > be seen by looking at the code but is not otherwise obviously > guaranteed. > > Perhaps this should be explicitly mentioned in that function's > documentation? > > Changes since v1: > * Fix returning if ret is 0. > > drivers/gpu/drm/imx/imx-ldb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c > index 8fb801f..8b05ecb 100644 > --- a/drivers/gpu/drm/imx/imx-ldb.c > +++ b/drivers/gpu/drm/imx/imx-ldb.c > @@ -673,7 +673,7 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) > ret = drm_of_find_panel_or_bridge(child, > imx_ldb->lvds_mux ? 4 : 2, 0, > &channel->panel, &channel->bridge); > - if (ret) > + if (ret && ret != -ENODEV) > return ret; > > /* panel ddc only if there is no bridge */ Thank you, applied to imx-drm/fixes. regards Philipp