Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754703Ab1DTMQ3 (ORCPT ); Wed, 20 Apr 2011 08:16:29 -0400 Received: from cantor.suse.de ([195.135.220.2]:55716 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754617Ab1DTMQ2 (ORCPT ); Wed, 20 Apr 2011 08:16:28 -0400 Date: Wed, 20 Apr 2011 14:16:26 +0200 Message-ID: From: Takashi Iwai To: Mike Waychison Cc: Jaroslav Kysela , Raymond Yau , David Henningsson , Luke Yelavich , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ALSA: hda - Fix unused warnings when !SND_HDA_NEEDS_RESUME In-Reply-To: <1303246937-11302-1-git-send-email-mikew@google.com> References: <1303246937-11302-1-git-send-email-mikew@google.com> User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.2 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5253 Lines: 185 At Tue, 19 Apr 2011 14:02:17 -0700, Mike Waychison wrote: > > When SND_HDA_NEEDS_RESUME is not defined, the compiler identifies that > the following symbols are static but not used: > > restore_shutup_pins > hda_cleanup_all_streams I prefer adding ifdef around the functions for these, since they are related with the functions around them. Otherwise the corelation will be lost. > ad198x_power_eapd > ad198x_power_eapd_write They can be better moved, indeed. OTOH, I'm going to apply ad198x_power_eapd() also for the normal shutdown case, so they will be not only with SND_HDA_NEEDS_RESUME. Please leave them as they are for now. Could you resubmit the patch? thanks, Takashi > > Fix warnings by moving the above functions to be SND_HDA_NEEDS_RESUME > guards. > > Signed-off-by: Mike Waychison > --- > Applies to v2.6.39-rc4. > Compile tested with and without CONFIG_SND_HDA_POWER_SAVE. > --- > sound/pci/hda/hda_codec.c | 58 +++++++++++++++++++++--------------------- > sound/pci/hda/patch_analog.c | 28 ++++++++++---------- > 2 files changed, 43 insertions(+), 43 deletions(-) > > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c > index 430f41d..fbb046f 100644 > --- a/sound/pci/hda/hda_codec.c > +++ b/sound/pci/hda/hda_codec.c > @@ -937,23 +937,6 @@ void snd_hda_shutup_pins(struct hda_codec *codec) > } > EXPORT_SYMBOL_HDA(snd_hda_shutup_pins); > > -/* Restore the pin controls cleared previously via snd_hda_shutup_pins() */ > -static void restore_shutup_pins(struct hda_codec *codec) > -{ > - int i; > - if (!codec->pins_shutup) > - return; > - if (codec->bus->shutdown) > - return; > - for (i = 0; i < codec->init_pins.used; i++) { > - struct hda_pincfg *pin = snd_array_elem(&codec->init_pins, i); > - snd_hda_codec_write(codec, pin->nid, 0, > - AC_VERB_SET_PIN_WIDGET_CONTROL, > - pin->ctrl); > - } > - codec->pins_shutup = 0; > -} > - > static void init_hda_cache(struct hda_cache_rec *cache, > unsigned int record_size); > static void free_hda_cache(struct hda_cache_rec *cache); > @@ -1329,18 +1312,6 @@ static void purify_inactive_streams(struct hda_codec *codec) > } > } > > -/* clean up all streams; called from suspend */ > -static void hda_cleanup_all_streams(struct hda_codec *codec) > -{ > - int i; > - > - for (i = 0; i < codec->cvt_setups.used; i++) { > - struct hda_cvt_setup *p = snd_array_elem(&codec->cvt_setups, i); > - if (p->stream_tag) > - really_cleanup_stream(codec, p); > - } > -} > - > /* > * amp access functions > */ > @@ -3049,6 +3020,18 @@ static inline void hda_exec_init_verbs(struct hda_codec *codec) {} > #endif > > #ifdef SND_HDA_NEEDS_RESUME > +/* clean up all streams; called from suspend */ > +static void hda_cleanup_all_streams(struct hda_codec *codec) > +{ > + int i; > + > + for (i = 0; i < codec->cvt_setups.used; i++) { > + struct hda_cvt_setup *p = snd_array_elem(&codec->cvt_setups, i); > + if (p->stream_tag) > + really_cleanup_stream(codec, p); > + } > +} > + > /* > * call suspend and power-down; used both from PM and power-save > */ > @@ -3069,6 +3052,23 @@ static void hda_call_codec_suspend(struct hda_codec *codec) > #endif > } > > +/* Restore the pin controls cleared previously via snd_hda_shutup_pins() */ > +static void restore_shutup_pins(struct hda_codec *codec) > +{ > + int i; > + if (!codec->pins_shutup) > + return; > + if (codec->bus->shutdown) > + return; > + for (i = 0; i < codec->init_pins.used; i++) { > + struct hda_pincfg *pin = snd_array_elem(&codec->init_pins, i); > + snd_hda_codec_write(codec, pin->nid, 0, > + AC_VERB_SET_PIN_WIDGET_CONTROL, > + pin->ctrl); > + } > + codec->pins_shutup = 0; > +} > + > /* > * kick up codec; used both from PM and power-save > */ > diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c > index 2942d2a..bcabcee 100644 > --- a/sound/pci/hda/patch_analog.c > +++ b/sound/pci/hda/patch_analog.c > @@ -507,6 +507,20 @@ static void ad198x_free_kctls(struct hda_codec *codec) > snd_array_free(&spec->kctls); > } > > +static void ad198x_free(struct hda_codec *codec) > +{ > + struct ad198x_spec *spec = codec->spec; > + > + if (!spec) > + return; > + > + ad198x_shutup(codec); > + ad198x_free_kctls(codec); > + kfree(spec); > + snd_hda_detach_beep_device(codec); > +} > + > +#ifdef SND_HDA_NEEDS_RESUME > static void ad198x_power_eapd_write(struct hda_codec *codec, hda_nid_t front, > hda_nid_t hp) > { > @@ -547,20 +561,6 @@ static void ad198x_power_eapd(struct hda_codec *codec) > } > } > > -static void ad198x_free(struct hda_codec *codec) > -{ > - struct ad198x_spec *spec = codec->spec; > - > - if (!spec) > - return; > - > - ad198x_shutup(codec); > - ad198x_free_kctls(codec); > - kfree(spec); > - snd_hda_detach_beep_device(codec); > -} > - > -#ifdef SND_HDA_NEEDS_RESUME > static int ad198x_suspend(struct hda_codec *codec, pm_message_t state) > { > ad198x_shutup(codec); > -- > 1.7.3.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/