Thread (31 messages) flat view 31 messages, 13 authors, 2016-03-11

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help