Re: [PATCH] ALSA: x86: mark hdmi suspend/resume functions as __maybe_unused

From: Takashi Iwai
Date: Tue Feb 07 2017 - 10:10:42 EST


On Tue, 07 Feb 2017 15:19:47 +0100,
Takashi Sakamoto wrote:
>
> Hi,
>
> On Feb 7 2016 22:38, Arnd Bergmann wrote:
> > The two functions are unused when CONFIG_PM_SLEEP is disabled:
> >
> > sound/x86/intel_hdmi_audio.c:1633:12: error: 'hdmi_lpe_audio_resume' defined but not used [-Werror=unused-function]
> > sound/x86/intel_hdmi_audio.c:1622:12: error: 'hdmi_lpe_audio_suspend' defined but not used [-Werror=unused-function]
> >
> > Marking them as __maybe_unused avoids the warning without introducing an
> > ugly #ifdef.
> >
> > Fixes: 182cdf23dbf6 ("ALSA: x86: Implement runtime PM")
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> > ---
> > sound/x86/intel_hdmi_audio.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
> > index 8978dc9bf579..0d19a4994bac 100644
> > --- a/sound/x86/intel_hdmi_audio.c
> > +++ b/sound/x86/intel_hdmi_audio.c
> > @@ -1619,7 +1619,7 @@ static int hdmi_lpe_audio_runtime_suspend(struct device *dev)
> > return 0;
> > }
> >
> > -static int hdmi_lpe_audio_suspend(struct device *dev)
> > +static int __maybe_unused hdmi_lpe_audio_suspend(struct device *dev)
> > {
> > struct snd_intelhad *ctx = dev_get_drvdata(dev);
> > int err;
> > @@ -1630,7 +1630,7 @@ static int hdmi_lpe_audio_suspend(struct device *dev)
> > return err;
> > }
> >
> > -static int hdmi_lpe_audio_resume(struct device *dev)
> > +static int __maybe_unused hdmi_lpe_audio_resume(struct device *dev)
> > {
> > struct snd_intelhad *ctx = dev_get_drvdata(dev);
>
> In this case, in this subsystem, we can see codes to pre-process the
> function calls to NULL and the function definition is omitted. This is
> a sample:
> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/pci/hda/patch_sigmatel.c#n4427
>
> Let us apply the same idea to this module?

In the case of HD-audio, the dependency is more complex, and
__maybe_unused will omit the warning we really want to see if the
dependency is broken. So, better not touch it.

For a simpler driver, it's fine to take this approach, yes.
But you don't have to rush now unless you've seen the similar warnings
and need some fix. It's already close to the merge window, and such a
cleanup would bring an error by mistake.


thanks,

Takashi