From patchwork Mon Jul 4 13:41:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Gortmaker X-Patchwork-Id: 9212695 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6DD5660752 for ; Mon, 4 Jul 2016 13:43:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5FD0428708 for ; Mon, 4 Jul 2016 13:43:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 542302870C; Mon, 4 Jul 2016 13:43:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C157F28708 for ; Mon, 4 Jul 2016 13:43:23 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bK48G-0005Sq-MO; Mon, 04 Jul 2016 13:41:52 +0000 Received: from mail5.windriver.com ([192.103.53.11] helo=mail5.wrs.com) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bK48C-0005IT-Ij for linux-arm-kernel@lists.infradead.org; Mon, 04 Jul 2016 13:41:50 +0000 Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail5.wrs.com (8.15.2/8.15.2) with ESMTPS id u64DfPNi024685 (version=TLSv1 cipher=AES128-SHA bits=128 verify=OK); Mon, 4 Jul 2016 06:41:25 -0700 Received: from yow-pgortmak-d1 (128.224.56.57) by ALA-HCA.corp.ad.wrs.com (147.11.189.40) with Microsoft SMTP Server id 14.3.248.2; Mon, 4 Jul 2016 06:41:24 -0700 Received: by yow-pgortmak-d1 (Postfix, from userid 1000) id C7C9028018C; Mon, 4 Jul 2016 09:41:23 -0400 (EDT) Date: Mon, 4 Jul 2016 09:41:23 -0400 From: Paul Gortmaker To: Jon Hunter Subject: Re: [PATCH 3/4] bus: tegra-aconnect: make it explicitly non-modular Message-ID: <20160704134123.GV26134@windriver.com> References: <20160703173040.23612-1-paul.gortmaker@windriver.com> <20160703173040.23612-4-paul.gortmaker@windriver.com> <577A2995.6020504@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <577A2995.6020504@nvidia.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160704_064148_784535_AF95F12F X-CRM114-Status: GOOD ( 34.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexandre Courbot , Stephen Warren , linux-kernel@vger.kernel.org, Thierry Reding , linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP [Re: [PATCH 3/4] bus: tegra-aconnect: make it explicitly non-modular] On 04/07/2016 (Mon 10:17) Jon Hunter wrote: > Hi Paul, > > On 03/07/16 18:30, Paul Gortmaker wrote: > > The Kconfig currently controlling compilation of this code is: > > > > drivers/bus/Kconfig:config TEGRA_ACONNECT > > drivers/bus/Kconfig: bool "Tegra ACONNECT Bus Driver" > > > > ...meaning that it currently is not being built as a module by anyone. > > > > Lets remove the modular code that is essentially orphaned, so that > > when reading the driver there is no doubt it is builtin-only. > > > > We explicitly disallow a driver unbind, since that doesn't have a > > sensible use case anyway, and it allows us to drop the ".remove" > > code for non-modular drivers. > > > > Since module_platform_driver() uses the same init level priority as > > builtin_platform_driver() the init ordering remains unchanged with > > this commit. > > > > Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. > > > > We also delete the MODULE_LICENSE tag etc. since all that information > > was (or is now) contained at the top of the file in the comments. > > In version 3 of the aconnect series [0] I had made this a tristate > because we allowed it to be removed and you had submitted a patch to > export the PM_CLK APIs. However, when discussing with Thierry he said > that we were unable to merge with tristate because of the dependency on > your patch. So he suggested we merge with bool for now and then change > it back to tristate for v4.9. Oh I see. The exported clock syms were for the 210 DMA driver and it never crossed my mind that this driver needed the same syms in order for it to be tristate. Guess the exports proved useful afterall. :) > > I understand that we should not do this, but we do plan to make this > modular in the future. No problem ; I will drop this patch in favor of a one line Kconfig patch in my test queue so it doesn't trip the regular audit, just like I have for the 210 below -- not yet submitted for the same dependency reason. P. Acked-by: Jon Hunter --- From fe5bdc6348828c157deb14e8d75c732abcc2ad2b Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Fri, 20 May 2016 14:30:43 -0400 Subject: [PATCH] dma: tegra210-adma: convert TEGRA210_ADMA from bool to tristate This driver currently uses modular infrastructure but is controlled by a bool Kconfig. There is a general consensus from the DMA reviewers and maintainers that "if it can be modular, it should be modular" in order to keep the bzImage size under control for multi platform kernels. Build tested only. Also needs some new pm_clk symbols exported before this commit is applied to tree in order to avoid modpost errors like: ERROR: "pm_clk_add_clk" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_create" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_destroy" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_suspend" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_resume" [drivers/dma/tegra210-adma.ko] undefined! Cc: Laxman Dewangan Cc: Jon Hunter Cc: Dan Williams Cc: Vinod Koul Cc: Stephen Warren Cc: Thierry Reding Cc: Alexandre Courbot Cc: dmaengine@vger.kernel.org Cc: linux-tegra@vger.kernel.org Signed-off-by: Paul Gortmaker --- drivers/dma/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 8c98779a12b1..866068d84ca2 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -468,7 +468,7 @@ config TEGRA20_APB_DMA or vice versa. It does not support memory to memory data transfer. config TEGRA210_ADMA - bool "NVIDIA Tegra210 ADMA support" + tristate "NVIDIA Tegra210 ADMA support" depends on ARCH_TEGRA_210_SOC select DMA_ENGINE select DMA_VIRTUAL_CHANNELS