[PATCH 06/14] dma: sirf: use __maybe_unused to hide pm functions
From: Vinod Koul <hidden>
Date: 2016-03-04 14:58:01
Also in:
lkml
On Thu, Mar 03, 2016 at 01:33:17PM +0100, Arnd Bergmann wrote:
On Thursday 03 March 2016 09:17:31 Vinod Koul wrote:quoted
On Wed, Mar 02, 2016 at 04:58:58PM +0100, Arnd Bergmann wrote:quoted
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