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=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 C9BD7C4CEC4 for ; Wed, 18 Sep 2019 10:28: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 9ED7221907 for ; Wed, 18 Sep 2019 10:28: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="C70JLg/l"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="OlpbDhJc" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9ED7221907 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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=TlmASqj2Y/+7nGI9lK3YbDmo2pOLSwKmhWR3S+Qs9Gs=; b=C70JLg/ljACqxh AkQ55EUKERrNlZ7i+9BhhDqErg7guthjw6T7JsWa/SN3pIQ4REF8eINR+cpr78qVgZUljW52n0u+H konEkNKXS7JMkzvt9LGV0M1tbBWTMEUR2/5s0X/O31bQrM8HXFk51ppnX+WoYtJmH6AUYu4abJe9P ehnO3SrCLIDzNdBbhdpG26/NkZK8xfchoOXmSDp9US0YBWXYtZvtZ8ZdvXiaBrM7e0lT+4FJ2EFmb qf/ylW0Qrp9WMgO2QsmMwFjzj16enXCqBjAMITJ3LusOCT+lMtKqbYtIzrrK7/B5Ism3XyxHdnLQQ tl2pY8RRWAvGnTqS3UJw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iAXCG-0002Vd-3x; Wed, 18 Sep 2019 10:28:28 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iAXCC-0002V7-4i; Wed, 18 Sep 2019 10:28:26 +0000 Received: from localhost (unknown [122.178.229.153]) (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 295DB205F4; Wed, 18 Sep 2019 10:28:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568802503; bh=NU/XZq0YjEUS1CaZjiEgjV/Mv/zFt98RSp0oEKn6bpU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=OlpbDhJc/XVCrrvg80yx1mZCdGbXBOUYMa6om5ZKj5YNXWraiyble4+RQQF+k50ac Fivo3B1hhAenmy4QvJ2sGPlVggOT300c09DPVsaXnDC51oj3rHZCq1BaRSqn6mJyGJ fwADBKoOoMi18cBYp4pLnmel2LVxaTHjcDaV/P6U= Date: Wed, 18 Sep 2019 15:57:15 +0530 From: Vinod Koul To: Satendra Singh Thakur Subject: Re: [PATCH 0/9] added helper macros to remove duplicate code from probe functions of the platform drivers Message-ID: <20190918102715.GO4392@vkoul-mobl> References: <20190915070003.21260-1-sst2005@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190915070003.21260-1-sst2005@gmail.com> User-Agent: Mutt/1.12.1 (2019-06-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190918_032824_806008_10B1B616 X-CRM114-Status: GOOD ( 11.91 ) 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: lars@metafoo.de, maxime.ripard@bootlin.com, sean.wang@mediatek.com, linux-kernel@vger.kernel.org, afaerber@suse.de, dmaengine@vger.kernel.org, wens@csie.org, agross@kernel.org, linux-mediatek@lists.infradead.org, satendrasingh.thakur@hcl.com, manivannan.sadhasivam@linaro.org, matthias.bgg@gmail.com, dan.j.williams@intel.com, shawnguo@kernel.org, jun.nie@linaro.org, linux-arm-kernel@lists.infradead.org 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 On 15-09-19, 12:30, Satendra Singh Thakur wrote: > 1. For most of the platform drivers's probe include following steps > > -memory allocation for driver's private structure > -getting io resources > -io remapping resources > -getting irq number > -registering irq > -setting driver's private data > -getting clock > -preparing and enabling clock And we have perfect set of APIs for these tasks! > 2. We have defined a set of macros to combine some or all of > the above mentioned steps. This will remove redundant/duplicate > code in drivers' probe functions of platform drivers. Why, how does it help and you do realize it also introduces bugs > devm_platform_probe_helper(pdev, priv, clk_name); > devm_platform_probe_helper_clk(pdev, priv, clk_name); > devm_platform_probe_helper_irq(pdev, priv, clk_name, > irq_hndlr, irq_flags, irq_name, irq_devid); > devm_platform_probe_helper_all(pdev, priv, clk_name, > irq_hndlr, irq_flags, irq_name, irq_devid); > devm_platform_probe_helper_all_data(pdev, priv, clk_name, > irq_hndlr, irq_flags, irq_name, irq_devid); > > 3. Code is made devres compatible (wherever required) > The functions: clk_get, request_irq, kzalloc, platform_get_resource > are replaced with their devm_* counterparts. We already have devres APIs for people to use! > > 4. Few bugs are also fixed. Which ones..? > > Satendra Singh Thakur (9): > probe/dma : added helper macros to remove redundant/duplicate code > from probe functions of the dma controller drivers > probe/dma/jz4740: removed redundant code from jz4740 dma controller's > probe function > probe/dma/zx: removed redundant code from zx dma controller's probe > function > probe/dma/qcom-bam: removed redundant code from qcom bam dma > controller's probe function > probe/dma/mtk-hs: removed redundant code from mediatek hs dma > controller's probe function > probe/dma/sun6i: removed redundant code from sun6i dma controller's > probe function > probe/dma/sun4i: removed redundant code from sun4i dma controller's > probe function > probe/dma/axi: removed redundant code from axi dma controller's probe > function > probe/dma/owl: removed redundant code from owl dma controller's probe > function > > drivers/dma/dma-axi-dmac.c | 28 ++--- > drivers/dma/dma-jz4740.c | 33 +++--- > drivers/dma/mediatek/mtk-hsdma.c | 38 +++---- > drivers/dma/owl-dma.c | 29 ++--- > drivers/dma/qcom/bam_dma.c | 71 +++++------- > drivers/dma/sun4i-dma.c | 30 ++---- > drivers/dma/sun6i-dma.c | 30 ++---- > drivers/dma/zx_dma.c | 35 ++---- > include/linux/probe-helper.h | 179 +++++++++++++++++++++++++++++++ > 9 files changed, 280 insertions(+), 193 deletions(-) > create mode 100644 include/linux/probe-helper.h > > -- > 2.17.1 -- ~Vinod _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel