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=-5.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=no 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 25826C433E1 for ; Thu, 20 Aug 2020 14:07:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id ECED720758 for ; Thu, 20 Aug 2020 14:07:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1597932427; bh=uRIasufyJG6jvkmnVHV59NybArRtiZJedVOR4Y+iZ8g=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-ID:From; b=qlsm5L2PBMBaSCGRsz5WJ5JzwIUC5lJkGBR0Zv6d5Loy3TmPzZytdo30Rnb0m2yca yGD8uohYd3kP/sse2ZhUV6WneEAhSo+W44ooEqOQMe+O20f3+zghLPmoZdNql5ZtGI KvjV5VHW5oP/0hq3n4t7JIG13b5xUZSEX5W24r/c= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728241AbgHTOHF (ORCPT ); Thu, 20 Aug 2020 10:07:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:41826 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727973AbgHTOHA (ORCPT ); Thu, 20 Aug 2020 10:07:00 -0400 Received: from coco.lan (ip5f5ad5a3.dynamic.kabel-deutschland.de [95.90.213.163]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8D50F20724; Thu, 20 Aug 2020 14:06:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1597932419; bh=uRIasufyJG6jvkmnVHV59NybArRtiZJedVOR4Y+iZ8g=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=nybwFHcJSEQ+sNorK6h28lhlgOTpiFXwa/QO/tmNCoOemIM/jbAkdHKBh4+JqzM63 fIu2sWwL2L3+Fvq0a/Cdzn/Zh3GQqR5WMMxz0DCY7Hfrzr6BZrIpZkKpN1EDCEaauY MvLAi+xqn9f0CHzZuUNAiOvgkUwF/4KSrktIOYUQ= Date: Thu, 20 Aug 2020 16:06:49 +0200 From: Mauro Carvalho Chehab To: Sam Ravnborg Cc: Greg Kroah-Hartman , Neil Armstrong , Xinliang Liu , Wanchun Zheng , linuxarm@huawei.com, dri-devel , Andrzej Hajda , Laurent Pinchart , devel@driverdev.osuosl.org, Daniel Borkmann , John Fastabend , Xiubin Zhang , Wei Xu , David Airlie , Xinwei Kong , Tomi Valkeinen , Bogdan Togorean , Laurentiu Palcu , linux-media@vger.kernel.org, devicetree@vger.kernel.org, Liwei Cai , Jesper Dangaard Brouer , Manivannan Sadhasivam , Chen Feng , Alexei Starovoitov , linaro-mm-sig@lists.linaro.org, Rob Herring , Jakub Kicinski , mauro.chehab@huawei.com, Rob Clark , linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Liuyao An , Rongrong Zou , bpf@vger.kernel.org, "David S. Miller" Subject: Re: [PATCH 00/49] DRM driver for Hikey 970 Message-ID: <20200820160649.54741194@coco.lan> In-Reply-To: <20200819173558.GA3733@ravnborg.org> References: <20200819152120.GA106437@ravnborg.org> <20200819174027.70b39ee9@coco.lan> <20200819173558.GA3733@ravnborg.org> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Em Wed, 19 Aug 2020 19:35:58 +0200 Sam Ravnborg escreveu: I'm already handling the other comments from your review (I'll send a more complete comment about them after finishing), but I have a doubt what you meant about this: > +static int kirin_drm_bind(struct device *dev) > > +{ > > + struct drm_driver *driver = &kirin_drm_driver; > > + struct drm_device *drm_dev; > > + struct kirin_drm_private *priv; > > + int ret; > > + > > + drm_dev = drm_dev_alloc(driver, dev); > > + if (!drm_dev) > > + return -ENOMEM; > > + > > + ret = kirin_drm_kms_init(drm_dev); > > + if (ret) > > + goto err_drm_dev_unref; > > + > > + ret = drm_dev_register(drm_dev, 0); > There is better ways to do this. See drm_drv.c for the code example. Not sure if I understood your comment here. The drm_drv.c example also calls drm_dev_register(). The only difference is that it calls it inside driver_probe(), while on this driver, it uses: static const struct component_master_ops kirin_drm_ops = { .bind = kirin_drm_bind, .unbind = kirin_drm_unbind, }; static int kirin_drm_platform_probe(struct platform_device *pdev) { ... drm_of_component_match_add(dev, &match, compare_of, remote); ... return component_master_add_with_match(dev, &kirin_drm_ops, match); } Are you meaning that I should get rid of this component API and call kirin_drm_bind() from kirin_drm_platform_probe()? Thanks, Mauro