Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755009AbcCDO6B (ORCPT ); Fri, 4 Mar 2016 09:58:01 -0500 Received: from mga11.intel.com ([192.55.52.93]:9033 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751313AbcCDO57 (ORCPT ); Fri, 4 Mar 2016 09:57:59 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,536,1449561600"; d="scan'208";a="59861577" Date: Fri, 4 Mar 2016 20:32:05 +0530 From: Vinod Koul To: Arnd Bergmann Cc: Barry Song , linux-arm-kernel@lists.infradead.org, Dan Williams , dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 06/14] dma: sirf: use __maybe_unused to hide pm functions Message-ID: <20160304150205.GZ11154@localhost> References: <1456934350-1389172-1-git-send-email-arnd@arndb.de> <1456934350-1389172-7-git-send-email-arnd@arndb.de> <20160303034731.GI11154@localhost> <2913625.BbPcKOOv7K@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2913625.BbPcKOOv7K@wuerfel> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1569 Lines: 36 On Thu, Mar 03, 2016 at 01:33:17PM +0100, Arnd Bergmann wrote: > On Thursday 03 March 2016 09:17:31 Vinod Koul wrote: > > On Wed, Mar 02, 2016 at 04:58:58PM +0100, Arnd Bergmann wrote: > > > The sirf dma driver uses #ifdef to check for CONFIG_PM_SLEEP > > > for its suspend/resume code but then has no #ifdef for the > > > respective runtime PM code, so we get a warning if CONFIG_PM > > > is disabled altogether: > > > > > > drivers/dma/sirf-dma.c:1000:12: error: 'sirfsoc_dma_runtime_resume' defined but not used [-Werror=unused-function] > > > > > > This removes the existing #ifdef and instead uses __maybe_unused > > > annotations for all four functions to let the compiler know it > > > can silently drop the function definition. > > > > Hi Arnd, > > > > Rather than telling compiler that this maybe used why not add ifdef for it's > > suspend/resume as well, what are the demerits of that approach? > > > > As I tried to explain in the cover letter, everyone gets the #ifdef > wrong, and the __maybe_unused annotation is harder to get wrong here. > > This particular driver illustrates that well: sirfsoc_dma_remove() > calls sirfsoc_dma_runtime_suspend(), so we must hide the > resume function, but not suspend, and that is counterintuitive. > > Other drivers have other problems, e.g. functions that get called > only from within the sections under an #ifdef, and then those > need the same #ifdef added, which gets even more complicated when > you have both runtime-pm and suspend support. Thanks, applied now after fixing subsystem name -- ~Vinod