From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 272B8C432C3 for ; Tue, 3 Dec 2019 06:44:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E4EAC206DF for ; Tue, 3 Dec 2019 06:44:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kGfRzplS"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="v2/pr/F9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E4EAC206DF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=5ldiqhQYcvBjIVJlftHqOsSsaxe4YqRzSM6bvBcn4yE=; b=kGfRzplS9VAP1A jeTRrkqdO0AnRTiB5gVO/mK2VeAH1YoSdldvHXD7VdAMeaXOP1Ht0oCEc0xtFF8G+ADfYaOBoW/zC i5+EgIQHiBCAY+Lij8SYBxoSDFOqEdzGdtogsbF7XM8WdYzPsVJHpGxDfaOxe9+XnqYIRkDZn4HRW x6tKAIl9+IdAurFV/419EQAh1cqec+/Z355+Cprn9at+rPCnPxx4qKlMyvxqf0Pd4XRe8DEasKox8 t2fJ0z9iqGhtU4/9FUjNmSnZ2qJhYtpe+ByUZODDFtD5kAP+zx318J0O0zq7DufFpkxrnbcTjjgrB 03xdxngVoz1NjpG1EsbA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic1vG-0001pe-Bn; Tue, 03 Dec 2019 06:44:34 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic1v5-0001h0-H6; Tue, 03 Dec 2019 06:44:25 +0000 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 6C443309; Tue, 3 Dec 2019 07:44:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1575355461; bh=g/3jjUGzt/ZPk4oebHW3YfmYOgHqwdzbZQuepaZXnZ8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=v2/pr/F9edrxg9ZBPVTOYa8P9ikzqJhOu4ROsO8ftPE8VHwx4EgD78nZi+ZYlO0mB 5H3mAZICncryXfGSu8OoTEKCEe2GYcFlMRt+09pOXdmEMFp0scnGdQG6U2hkbu/HCd s+eKKGxEAQHDPgJZtE9suYSiN0MVpAb6R2OBuXY4= Date: Tue, 3 Dec 2019 08:44:14 +0200 From: Laurent Pinchart To: Sam Ravnborg Subject: Re: [PATCH v1 04/26] drm: get drm_bridge_panel connector via helper Message-ID: <20191203064414.GD4730@pendragon.ideasonboard.com> References: <20191202193230.21310-1-sam@ravnborg.org> <20191202193230.21310-5-sam@ravnborg.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191202193230.21310-5-sam@ravnborg.org> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191202_224423_862999_29F75637 X-CRM114-Status: GOOD ( 18.96 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , David Airlie , Linus Walleij , dri-devel@lists.freedesktop.org, Andrzej Hajda , Thierry Reding , Benjamin Gaignard , Stefan Agner , linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, Tomi Valkeinen , NXP Linux Team , Jagan Teki , Jitao Shi , Pengutronix Kernel Team , Jonas Karlman , Maarten Lankhorst , Maxime Ripard , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec , Purism Kernel Team , Eric Anholt , linux-renesas-soc@vger.kernel.org, Boris Brezillon , Daniel Vetter Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Hi Sam, Thank you for the patch. On Mon, Dec 02, 2019 at 08:32:08PM +0100, Sam Ravnborg wrote: > The drm_connector created by drm_panel_bridge was accessed > via drm_panel.connector. > Avoid the detour around drm_panel by providing a simple get method. > This avoids direct access to the connector field in drm_panel in > the two users. You may want to add that this is needed to prepare for removal of drm_panel.connector. > Update pl111 and tve200 to use the new helper. > > Signed-off-by: Sam Ravnborg > Cc: Andrzej Hajda > Cc: Neil Armstrong > Cc: Laurent Pinchart > Cc: Jonas Karlman > Cc: Jernej Skrabec > Cc: Eric Anholt > Cc: Linus Walleij > Cc: Maarten Lankhorst > Cc: Maxime Ripard > Cc: David Airlie > Cc: Daniel Vetter > --- > drivers/gpu/drm/bridge/panel.c | 16 ++++++++++++++++ > drivers/gpu/drm/pl111/pl111_drv.c | 2 +- > drivers/gpu/drm/tve200/tve200_drv.c | 2 +- > include/drm/drm_bridge.h | 1 + > 4 files changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index f4e293e7cf64..c5e27b81588a 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -289,3 +289,19 @@ struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, > return bridge; > } > EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed); > + > +/** > + * drm_panel_bridge_connector - return pointer to connector Maybe "return the connector for the panel bridge" ? > + * > + * drm_panel_bridge creates the connector. > + * This function gives external access to the connector. > + * > + * Returns: Pointer to drm_conneector s/drm_conneector/drm_connector/ > + */ > +struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge) > +{ > + struct panel_bridge * panel_bridge; s/\* panel_bridge/*panel_bridge/ There's also a missing blank line, didn't checkpatch warn about this ? With those small issues fixed, Reviewed-by: Laurent Pinchart > + panel_bridge = drm_bridge_to_panel_bridge(bridge); > + > + return &panel_bridge->connector; > +} > diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c > index 63dfcda04147..aa8aa8d9e405 100644 > --- a/drivers/gpu/drm/pl111/pl111_drv.c > +++ b/drivers/gpu/drm/pl111/pl111_drv.c > @@ -166,7 +166,7 @@ static int pl111_modeset_init(struct drm_device *dev) > priv->bridge = bridge; > if (panel) { > priv->panel = panel; > - priv->connector = panel->connector; > + priv->connector = drm_panel_bridge_connector(bridge); > } > > ret = pl111_display_init(dev); > diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c > index 954b09c948eb..00ba9e5ce130 100644 > --- a/drivers/gpu/drm/tve200/tve200_drv.c > +++ b/drivers/gpu/drm/tve200/tve200_drv.c > @@ -110,7 +110,7 @@ static int tve200_modeset_init(struct drm_device *dev) > } > > priv->panel = panel; > - priv->connector = panel->connector; > + priv->connector = drm_panel_bridge_connector(bridge); > priv->bridge = bridge; > > dev_info(dev->dev, "attached to panel %s\n", > diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h > index c0a2286a81e9..9a4902accfe5 100644 > --- a/include/drm/drm_bridge.h > +++ b/include/drm/drm_bridge.h > @@ -438,6 +438,7 @@ struct drm_bridge *devm_drm_panel_bridge_add(struct device *dev, > struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, > struct drm_panel *panel, > u32 connector_type); > +struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge); > #endif > > #endif -- Regards, Laurent Pinchart _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v1 04/26] drm: get drm_bridge_panel connector via helper Date: Tue, 3 Dec 2019 08:44:14 +0200 Message-ID: <20191203064414.GD4730@pendragon.ideasonboard.com> References: <20191202193230.21310-1-sam@ravnborg.org> <20191202193230.21310-5-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20191202193230.21310-5-sam@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sam Ravnborg Cc: Neil Armstrong , David Airlie , dri-devel@lists.freedesktop.org, Thierry Reding , linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, Tomi Valkeinen , NXP Linux Team , Jagan Teki , Jitao Shi , Pengutronix Kernel Team , Jonas Karlman , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec , Purism Kernel Team , linux-renesas-soc@vger.kernel.org, Boris Brezillon List-Id: linux-rockchip.vger.kernel.org SGkgU2FtLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBNb24sIERlYyAwMiwgMjAxOSBh dCAwODozMjowOFBNICswMTAwLCBTYW0gUmF2bmJvcmcgd3JvdGU6Cj4gVGhlIGRybV9jb25uZWN0 b3IgY3JlYXRlZCBieSBkcm1fcGFuZWxfYnJpZGdlIHdhcyBhY2Nlc3NlZAo+IHZpYSBkcm1fcGFu ZWwuY29ubmVjdG9yLgo+IEF2b2lkIHRoZSBkZXRvdXIgYXJvdW5kIGRybV9wYW5lbCBieSBwcm92 aWRpbmcgYSBzaW1wbGUgZ2V0IG1ldGhvZC4KPiBUaGlzIGF2b2lkcyBkaXJlY3QgYWNjZXNzIHRv IHRoZSBjb25uZWN0b3IgZmllbGQgaW4gZHJtX3BhbmVsIGluCj4gdGhlIHR3byB1c2Vycy4KCllv dSBtYXkgd2FudCB0byBhZGQgdGhhdCB0aGlzIGlzIG5lZWRlZCB0byBwcmVwYXJlIGZvciByZW1v dmFsIG9mCmRybV9wYW5lbC5jb25uZWN0b3IuCgo+IFVwZGF0ZSBwbDExMSBhbmQgdHZlMjAwIHRv IHVzZSB0aGUgbmV3IGhlbHBlci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTYW0gUmF2bmJvcmcgPHNh bUByYXZuYm9yZy5vcmc+Cj4gQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+ Cj4gQ2M6IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KPiBDYzogTGF1 cmVudCBQaW5jaGFydCA8TGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IENjOiBK b25hcyBLYXJsbWFuIDxqb25hc0Brd2lib28uc2U+Cj4gQ2M6IEplcm5laiBTa3JhYmVjIDxqZXJu ZWouc2tyYWJlY0BzaW9sLm5ldD4KPiBDYzogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4K PiBDYzogTGludXMgV2FsbGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgo+IENjOiBNYWFy dGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IENjOiBN YXhpbWUgUmlwYXJkIDxtcmlwYXJkQGtlcm5lbC5vcmc+Cj4gQ2M6IERhdmlkIEFpcmxpZSA8YWly bGllZEBsaW51eC5pZT4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhbmVsLmMgICAgICB8IDE2ICsrKysrKysrKysr KysrKysKPiAgZHJpdmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rydi5jICAgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vdHZlMjAwL3R2ZTIwMF9kcnYuYyB8ICAyICstCj4gIGluY2x1ZGUvZHJt L2RybV9icmlkZ2UuaCAgICAgICAgICAgIHwgIDEgKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDE5IGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvcGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYwo+IGlu ZGV4IGY0ZTI5M2U3Y2Y2NC4uYzVlMjdiODE1ODhhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwu Ywo+IEBAIC0yODksMyArMjg5LDE5IEBAIHN0cnVjdCBkcm1fYnJpZGdlICpkZXZtX2RybV9wYW5l bF9icmlkZ2VfYWRkX3R5cGVkKHN0cnVjdCBkZXZpY2UgKmRldiwKPiAgCXJldHVybiBicmlkZ2U7 Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkZXZtX2RybV9wYW5lbF9icmlkZ2VfYWRkX3R5cGVkKTsK PiArCj4gKy8qKgo+ICsgKiBkcm1fcGFuZWxfYnJpZGdlX2Nvbm5lY3RvciAtIHJldHVybiBwb2lu dGVyIHRvIGNvbm5lY3RvcgoKTWF5YmUgInJldHVybiB0aGUgY29ubmVjdG9yIGZvciB0aGUgcGFu ZWwgYnJpZGdlIiA/Cgo+ICsgKgo+ICsgKiBkcm1fcGFuZWxfYnJpZGdlIGNyZWF0ZXMgdGhlIGNv bm5lY3Rvci4KPiArICogVGhpcyBmdW5jdGlvbiBnaXZlcyBleHRlcm5hbCBhY2Nlc3MgdG8gdGhl IGNvbm5lY3Rvci4KPiArICoKPiArICogUmV0dXJuczogUG9pbnRlciB0byBkcm1fY29ubmVlY3Rv cgoKcy9kcm1fY29ubmVlY3Rvci9kcm1fY29ubmVjdG9yLwoKPiArICovCj4gK3N0cnVjdCBkcm1f Y29ubmVjdG9yICpkcm1fcGFuZWxfYnJpZGdlX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2JyaWRnZSAq YnJpZGdlKQo+ICt7Cj4gKwlzdHJ1Y3QgcGFuZWxfYnJpZGdlICogcGFuZWxfYnJpZGdlOwoKcy9c KiBwYW5lbF9icmlkZ2UvKnBhbmVsX2JyaWRnZS8KClRoZXJlJ3MgYWxzbyBhIG1pc3NpbmcgYmxh bmsgbGluZSwgZGlkbid0IGNoZWNrcGF0Y2ggd2FybiBhYm91dCB0aGlzID8KCldpdGggdGhvc2Ug c21hbGwgaXNzdWVzIGZpeGVkLAoKUmV2aWV3ZWQtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJl bnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KCj4gKwlwYW5lbF9icmlkZ2UgPSBkcm1fYnJp ZGdlX3RvX3BhbmVsX2JyaWRnZShicmlkZ2UpOwo+ICsKPiArCXJldHVybiAmcGFuZWxfYnJpZGdl LT5jb25uZWN0b3I7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BsMTExL3Bs MTExX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rydi5jCj4gaW5kZXggNjNk ZmNkYTA0MTQ3Li5hYThhYThkOWU0MDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Bs MTExL3BsMTExX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rydi5j Cj4gQEAgLTE2Niw3ICsxNjYsNyBAQCBzdGF0aWMgaW50IHBsMTExX21vZGVzZXRfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJcHJpdi0+YnJpZGdlID0gYnJpZGdlOwo+ICAJaWYgKHBh bmVsKSB7Cj4gIAkJcHJpdi0+cGFuZWwgPSBwYW5lbDsKPiAtCQlwcml2LT5jb25uZWN0b3IgPSBw YW5lbC0+Y29ubmVjdG9yOwo+ICsJCXByaXYtPmNvbm5lY3RvciA9IGRybV9wYW5lbF9icmlkZ2Vf Y29ubmVjdG9yKGJyaWRnZSk7Cj4gIAl9Cj4gIAo+ICAJcmV0ID0gcGwxMTFfZGlzcGxheV9pbml0 KGRldik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dmUyMDAvdHZlMjAwX2Rydi5j IGIvZHJpdmVycy9ncHUvZHJtL3R2ZTIwMC90dmUyMDBfZHJ2LmMKPiBpbmRleCA5NTRiMDljOTQ4 ZWIuLjAwYmE5ZTVjZTEzMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHZlMjAwL3R2 ZTIwMF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dmUyMDAvdHZlMjAwX2Rydi5jCj4g QEAgLTExMCw3ICsxMTAsNyBAQCBzdGF0aWMgaW50IHR2ZTIwMF9tb2Rlc2V0X2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCX0KPiAgCj4gIAlwcml2LT5wYW5lbCA9IHBhbmVsOwo+IC0J cHJpdi0+Y29ubmVjdG9yID0gcGFuZWwtPmNvbm5lY3RvcjsKPiArCXByaXYtPmNvbm5lY3RvciA9 IGRybV9wYW5lbF9icmlkZ2VfY29ubmVjdG9yKGJyaWRnZSk7Cj4gIAlwcml2LT5icmlkZ2UgPSBi cmlkZ2U7Cj4gIAo+ICAJZGV2X2luZm8oZGV2LT5kZXYsICJhdHRhY2hlZCB0byBwYW5lbCAlc1xu IiwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oIGIvaW5jbHVkZS9kcm0v ZHJtX2JyaWRnZS5oCj4gaW5kZXggYzBhMjI4NmE4MWU5Li45YTQ5MDJhY2NmZTUgMTAwNjQ0Cj4g LS0tIGEvaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Jy aWRnZS5oCj4gQEAgLTQzOCw2ICs0MzgsNyBAQCBzdHJ1Y3QgZHJtX2JyaWRnZSAqZGV2bV9kcm1f cGFuZWxfYnJpZGdlX2FkZChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gIHN0cnVjdCBkcm1fYnJpZGdl ICpkZXZtX2RybV9wYW5lbF9icmlkZ2VfYWRkX3R5cGVkKHN0cnVjdCBkZXZpY2UgKmRldiwKPiAg CQkJCQkJICAgc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gIAkJCQkJCSAgIHUzMiBjb25uZWN0 b3JfdHlwZSk7Cj4gK3N0cnVjdCBkcm1fY29ubmVjdG9yICpkcm1fcGFuZWxfYnJpZGdlX2Nvbm5l Y3RvcihzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiAgI2VuZGlmCj4gIAo+ICAjZW5kaWYK Ci0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2D35BC43215 for ; Tue, 3 Dec 2019 06:44:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 03D3C20803 for ; Tue, 3 Dec 2019 06:44:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="v2/pr/F9" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727316AbfLCGoY (ORCPT ); Tue, 3 Dec 2019 01:44:24 -0500 Received: from perceval.ideasonboard.com ([213.167.242.64]:56520 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726521AbfLCGoY (ORCPT ); Tue, 3 Dec 2019 01:44:24 -0500 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 6C443309; Tue, 3 Dec 2019 07:44:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1575355461; bh=g/3jjUGzt/ZPk4oebHW3YfmYOgHqwdzbZQuepaZXnZ8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=v2/pr/F9edrxg9ZBPVTOYa8P9ikzqJhOu4ROsO8ftPE8VHwx4EgD78nZi+ZYlO0mB 5H3mAZICncryXfGSu8OoTEKCEe2GYcFlMRt+09pOXdmEMFp0scnGdQG6U2hkbu/HCd s+eKKGxEAQHDPgJZtE9suYSiN0MVpAb6R2OBuXY4= Date: Tue, 3 Dec 2019 08:44:14 +0200 From: Laurent Pinchart To: Sam Ravnborg Cc: dri-devel@lists.freedesktop.org, Thierry Reding , Abhinav Kumar , Andrzej Hajda , Benjamin Gaignard , Boris Brezillon , Daniel Vetter , David Airlie , Jagan Teki , Jitao Shi , Linus Walleij , linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-tegra@vger.kernel.org, Maarten Lankhorst , Maxime Ripard , Neil Armstrong , NXP Linux Team , Pengutronix Kernel Team , Purism Kernel Team , Sean Paul , Stefan Agner , Tomi Valkeinen , Jonas Karlman , Jernej Skrabec , Eric Anholt Subject: Re: [PATCH v1 04/26] drm: get drm_bridge_panel connector via helper Message-ID: <20191203064414.GD4730@pendragon.ideasonboard.com> References: <20191202193230.21310-1-sam@ravnborg.org> <20191202193230.21310-5-sam@ravnborg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20191202193230.21310-5-sam@ravnborg.org> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org Hi Sam, Thank you for the patch. On Mon, Dec 02, 2019 at 08:32:08PM +0100, Sam Ravnborg wrote: > The drm_connector created by drm_panel_bridge was accessed > via drm_panel.connector. > Avoid the detour around drm_panel by providing a simple get method. > This avoids direct access to the connector field in drm_panel in > the two users. You may want to add that this is needed to prepare for removal of drm_panel.connector. > Update pl111 and tve200 to use the new helper. > > Signed-off-by: Sam Ravnborg > Cc: Andrzej Hajda > Cc: Neil Armstrong > Cc: Laurent Pinchart > Cc: Jonas Karlman > Cc: Jernej Skrabec > Cc: Eric Anholt > Cc: Linus Walleij > Cc: Maarten Lankhorst > Cc: Maxime Ripard > Cc: David Airlie > Cc: Daniel Vetter > --- > drivers/gpu/drm/bridge/panel.c | 16 ++++++++++++++++ > drivers/gpu/drm/pl111/pl111_drv.c | 2 +- > drivers/gpu/drm/tve200/tve200_drv.c | 2 +- > include/drm/drm_bridge.h | 1 + > 4 files changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index f4e293e7cf64..c5e27b81588a 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -289,3 +289,19 @@ struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, > return bridge; > } > EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed); > + > +/** > + * drm_panel_bridge_connector - return pointer to connector Maybe "return the connector for the panel bridge" ? > + * > + * drm_panel_bridge creates the connector. > + * This function gives external access to the connector. > + * > + * Returns: Pointer to drm_conneector s/drm_conneector/drm_connector/ > + */ > +struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge) > +{ > + struct panel_bridge * panel_bridge; s/\* panel_bridge/*panel_bridge/ There's also a missing blank line, didn't checkpatch warn about this ? With those small issues fixed, Reviewed-by: Laurent Pinchart > + panel_bridge = drm_bridge_to_panel_bridge(bridge); > + > + return &panel_bridge->connector; > +} > diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c > index 63dfcda04147..aa8aa8d9e405 100644 > --- a/drivers/gpu/drm/pl111/pl111_drv.c > +++ b/drivers/gpu/drm/pl111/pl111_drv.c > @@ -166,7 +166,7 @@ static int pl111_modeset_init(struct drm_device *dev) > priv->bridge = bridge; > if (panel) { > priv->panel = panel; > - priv->connector = panel->connector; > + priv->connector = drm_panel_bridge_connector(bridge); > } > > ret = pl111_display_init(dev); > diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c > index 954b09c948eb..00ba9e5ce130 100644 > --- a/drivers/gpu/drm/tve200/tve200_drv.c > +++ b/drivers/gpu/drm/tve200/tve200_drv.c > @@ -110,7 +110,7 @@ static int tve200_modeset_init(struct drm_device *dev) > } > > priv->panel = panel; > - priv->connector = panel->connector; > + priv->connector = drm_panel_bridge_connector(bridge); > priv->bridge = bridge; > > dev_info(dev->dev, "attached to panel %s\n", > diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h > index c0a2286a81e9..9a4902accfe5 100644 > --- a/include/drm/drm_bridge.h > +++ b/include/drm/drm_bridge.h > @@ -438,6 +438,7 @@ struct drm_bridge *devm_drm_panel_bridge_add(struct device *dev, > struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, > struct drm_panel *panel, > u32 connector_type); > +struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge); > #endif > > #endif -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 592E1C432C0 for ; Tue, 3 Dec 2019 06:44:28 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2D69E20684 for ; Tue, 3 Dec 2019 06:44:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="bq9W+ihQ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="v2/pr/F9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2D69E20684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=F6YfAJqhR8JGx21dfOoA1N3YG2bQdqmpiya9Gt2GcMM=; b=bq9W+ihQIguZM3 JiK6kE7fxi+nEo5YKAC9IFaAPLnAunK6ZEeqr8yE+cimg07+HTfZ00MAF5NVOwxo/C8gp9wzTfDYf t41ZJRxC8Qe6rTnXZT1F90kAnw7HmHkQn+unot2A42o60hrIjAoo9cNlRkKLbMz69JOHhWiP+9zH1 j++fUvrESZtfU+EkYXoDaFDu/pWFKNYNEEgAhKv+TjIaMD3FOheULiveDsilN18jZS6tvxY6t24ec g3E9xh5BqJoxcqvOdCASala1z1Eo6FaVyOqAQQX/57Pk13cgLfclpG6Axo0R6DazQSbsAVgss8R1A /L5yOwbokiWR5Z50rZsQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic1v9-0001hd-Cd; Tue, 03 Dec 2019 06:44:27 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic1v5-0001h0-H6; Tue, 03 Dec 2019 06:44:25 +0000 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 6C443309; Tue, 3 Dec 2019 07:44:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1575355461; bh=g/3jjUGzt/ZPk4oebHW3YfmYOgHqwdzbZQuepaZXnZ8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=v2/pr/F9edrxg9ZBPVTOYa8P9ikzqJhOu4ROsO8ftPE8VHwx4EgD78nZi+ZYlO0mB 5H3mAZICncryXfGSu8OoTEKCEe2GYcFlMRt+09pOXdmEMFp0scnGdQG6U2hkbu/HCd s+eKKGxEAQHDPgJZtE9suYSiN0MVpAb6R2OBuXY4= Date: Tue, 3 Dec 2019 08:44:14 +0200 From: Laurent Pinchart To: Sam Ravnborg Subject: Re: [PATCH v1 04/26] drm: get drm_bridge_panel connector via helper Message-ID: <20191203064414.GD4730@pendragon.ideasonboard.com> References: <20191202193230.21310-1-sam@ravnborg.org> <20191202193230.21310-5-sam@ravnborg.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191202193230.21310-5-sam@ravnborg.org> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191202_224423_862999_29F75637 X-CRM114-Status: GOOD ( 18.96 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , David Airlie , Linus Walleij , dri-devel@lists.freedesktop.org, Andrzej Hajda , Thierry Reding , Benjamin Gaignard , Stefan Agner , linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, Tomi Valkeinen , NXP Linux Team , Jagan Teki , Jitao Shi , Pengutronix Kernel Team , Jonas Karlman , Maarten Lankhorst , Maxime Ripard , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec , Purism Kernel Team , Eric Anholt , linux-renesas-soc@vger.kernel.org, Boris Brezillon , Daniel Vetter Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Sam, Thank you for the patch. On Mon, Dec 02, 2019 at 08:32:08PM +0100, Sam Ravnborg wrote: > The drm_connector created by drm_panel_bridge was accessed > via drm_panel.connector. > Avoid the detour around drm_panel by providing a simple get method. > This avoids direct access to the connector field in drm_panel in > the two users. You may want to add that this is needed to prepare for removal of drm_panel.connector. > Update pl111 and tve200 to use the new helper. > > Signed-off-by: Sam Ravnborg > Cc: Andrzej Hajda > Cc: Neil Armstrong > Cc: Laurent Pinchart > Cc: Jonas Karlman > Cc: Jernej Skrabec > Cc: Eric Anholt > Cc: Linus Walleij > Cc: Maarten Lankhorst > Cc: Maxime Ripard > Cc: David Airlie > Cc: Daniel Vetter > --- > drivers/gpu/drm/bridge/panel.c | 16 ++++++++++++++++ > drivers/gpu/drm/pl111/pl111_drv.c | 2 +- > drivers/gpu/drm/tve200/tve200_drv.c | 2 +- > include/drm/drm_bridge.h | 1 + > 4 files changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index f4e293e7cf64..c5e27b81588a 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -289,3 +289,19 @@ struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, > return bridge; > } > EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed); > + > +/** > + * drm_panel_bridge_connector - return pointer to connector Maybe "return the connector for the panel bridge" ? > + * > + * drm_panel_bridge creates the connector. > + * This function gives external access to the connector. > + * > + * Returns: Pointer to drm_conneector s/drm_conneector/drm_connector/ > + */ > +struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge) > +{ > + struct panel_bridge * panel_bridge; s/\* panel_bridge/*panel_bridge/ There's also a missing blank line, didn't checkpatch warn about this ? With those small issues fixed, Reviewed-by: Laurent Pinchart > + panel_bridge = drm_bridge_to_panel_bridge(bridge); > + > + return &panel_bridge->connector; > +} > diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c > index 63dfcda04147..aa8aa8d9e405 100644 > --- a/drivers/gpu/drm/pl111/pl111_drv.c > +++ b/drivers/gpu/drm/pl111/pl111_drv.c > @@ -166,7 +166,7 @@ static int pl111_modeset_init(struct drm_device *dev) > priv->bridge = bridge; > if (panel) { > priv->panel = panel; > - priv->connector = panel->connector; > + priv->connector = drm_panel_bridge_connector(bridge); > } > > ret = pl111_display_init(dev); > diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c > index 954b09c948eb..00ba9e5ce130 100644 > --- a/drivers/gpu/drm/tve200/tve200_drv.c > +++ b/drivers/gpu/drm/tve200/tve200_drv.c > @@ -110,7 +110,7 @@ static int tve200_modeset_init(struct drm_device *dev) > } > > priv->panel = panel; > - priv->connector = panel->connector; > + priv->connector = drm_panel_bridge_connector(bridge); > priv->bridge = bridge; > > dev_info(dev->dev, "attached to panel %s\n", > diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h > index c0a2286a81e9..9a4902accfe5 100644 > --- a/include/drm/drm_bridge.h > +++ b/include/drm/drm_bridge.h > @@ -438,6 +438,7 @@ struct drm_bridge *devm_drm_panel_bridge_add(struct device *dev, > struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, > struct drm_panel *panel, > u32 connector_type); > +struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge); > #endif > > #endif -- Regards, Laurent Pinchart _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel