ALSA: Make snd_printd() and snd_printdd() inline
authorTakashi Iwai <tiwai@suse.de>
Fri, 25 Jan 2013 09:54:07 +0000 (10:54 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 25 Jan 2013 17:32:14 +0000 (18:32 +0100)
Because currently snd_printd() and snd_printdd() macros are expanded
to empty when CONFIG_SND_DEBUG=n, a compile warning like below
appears sometimes, and we had to covert it by ugly ifdefs:
  sound/pci/hda/patch_sigmatel.c: In function ‘stac92hd71bxx_fixup_hp’:
  sound/pci/hda/patch_sigmatel.c:2434:24: warning: unused variable ‘spec’ [-Wunused-variable]

For "fixing" these issues better, this patch replaces snd_printd() and
snd_printdd() definitions with empty inline functions instead of
macros.  This should have the same effect but shut up warnings like
above.

But since we had already put ifdefs, changing to inline functions
would trigger compile errors.  So, such ifdefs is removed in this
patch.

In addition, snd_pci_quirk name field is defined only when
CONFIG_SND_DEBUG_VERBOSE is set, and the reference to it in
snd_printdd() argument triggers the build errors, too.  For avoiding
these errors, introduce a new macro snd_pci_quirk_name() that is
defined no matter how the debug option is set.

Reported-by: Stratos Karafotis <stratosk@semaphore.gr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/core.h
sound/drivers/vx/vx_core.c
sound/pci/atiixp.c
sound/pci/hda/hda_auto_parser.c
sound/pci/hda/hda_generic.c
sound/pci/intel8x0.c
sound/pci/maestro3.c
sound/pci/nm256/nm256.c
sound/pci/pcxhr/pcxhr_core.c
sound/pci/via82xx.c
sound/usb/pcm.c

index 93896ad1fcdd70164c4254bd792d9b10da992b68..7cede2d6aa866a405073b64bae1fe6aeb287b58e 100644 (file)
@@ -394,8 +394,11 @@ void __snd_printk(unsigned int level, const char *file, int line,
 
 #else /* !CONFIG_SND_DEBUG */
 
-#define snd_printd(fmt, args...)       do { } while (0)
-#define _snd_printd(level, fmt, args...) do { } while (0)
+__printf(1, 2)
+static inline void snd_printd(const char *format, ...) {}
+__printf(2, 3)
+static inline void _snd_printd(int level, const char *format, ...) {}
+
 #define snd_BUG()                      do { } while (0)
 static inline int __snd_bug_on(int cond)
 {
@@ -416,7 +419,8 @@ static inline int __snd_bug_on(int cond)
 #define snd_printdd(format, args...) \
        __snd_printk(2, __FILE__, __LINE__, format, ##args)
 #else
-#define snd_printdd(format, args...)   do { } while (0)
+__printf(1, 2)
+static inline void snd_printdd(const char *format, ...) {}
 #endif
 
 
@@ -454,6 +458,7 @@ struct snd_pci_quirk {
 #define SND_PCI_QUIRK_MASK(vend, mask, dev, xname, val)                        \
        {_SND_PCI_QUIRK_ID_MASK(vend, mask, dev),                       \
                        .value = (val), .name = (xname)}
+#define snd_pci_quirk_name(q)  ((q)->name)
 #else
 #define SND_PCI_QUIRK(vend,dev,xname,val) \
        {_SND_PCI_QUIRK_ID(vend, dev), .value = (val)}
@@ -461,6 +466,7 @@ struct snd_pci_quirk {
        {_SND_PCI_QUIRK_ID_MASK(vend, mask, dev), .value = (val)}
 #define SND_PCI_QUIRK_VENDOR(vend, xname, val)                 \
        {_SND_PCI_QUIRK_ID_MASK(vend, 0, 0), .value = (val)}
+#define snd_pci_quirk_name(q)  ""
 #endif
 
 const struct snd_pci_quirk *
index de5055a3b0d08194b1e23cea0551525f56174eed..c39961c11401a32777eac568b6b1e273d9ab5e7b 100644 (file)
@@ -52,7 +52,6 @@ MODULE_LICENSE("GPL");
 int snd_vx_check_reg_bit(struct vx_core *chip, int reg, int mask, int bit, int time)
 {
        unsigned long end_time = jiffies + (time * HZ + 999) / 1000;
-#ifdef CONFIG_SND_DEBUG
        static char *reg_names[VX_REG_MAX] = {
                "ICR", "CVR", "ISR", "IVR", "RXH", "RXM", "RXL",
                "DMA", "CDSP", "RFREQ", "RUER/V2", "DATA", "MEMIRQ",
@@ -60,7 +59,7 @@ int snd_vx_check_reg_bit(struct vx_core *chip, int reg, int mask, int bit, int t
                "MIC3", "INTCSR", "CNTRL", "GPIOC",
                "LOFREQ", "HIFREQ", "CSUER", "RUER"
        };
-#endif
+
        do {
                if ((snd_vx_inb(chip, reg) & mask) == bit)
                        return 0;
index a67743183aaf2b77a6aeaae5a9b8e5089e0672dc..6e78c6789858394b16c7c4543d4c30874602c978 100644 (file)
@@ -567,8 +567,9 @@ static int ac97_probing_bugs(struct pci_dev *pci)
 
        q = snd_pci_quirk_lookup(pci, atiixp_quirks);
        if (q) {
-               snd_printdd(KERN_INFO "Atiixp quirk for %s.  "
-                           "Forcing codec %d\n", q->name, q->value);
+               snd_printdd(KERN_INFO
+                           "Atiixp quirk for %s.  Forcing codec %d\n",
+                           snd_pci_quirk_name(q), q->value);
                return q->value;
        }
        /* this hardware doesn't need workarounds.  Probe for codec */
index 96a05c4c28e192f209ff92931b3f951137fb4054..a3ea76a4c9d249531e20cc2262a913c32a872a62 100644 (file)
@@ -698,9 +698,7 @@ static void set_pin_targets(struct hda_codec *codec,
 
 static void apply_fixup(struct hda_codec *codec, int id, int action, int depth)
 {
-#ifdef CONFIG_SND_DEBUG_VERBOSE
        const char *modelname = codec->fixup_name;
-#endif
 
        while (id >= 0) {
                const struct hda_fixup *fix = codec->fixup_list + id;
index 19d014a6a40e73654889a3daafb1b2ce4a78b09a..c4ba3066a01344af9085c6219acd39a602e15082 100644 (file)
@@ -1579,9 +1579,7 @@ static void debug_show_configs(struct hda_codec *codec,
                               struct auto_pin_cfg *cfg)
 {
        struct hda_gen_spec *spec = codec->spec;
-#ifdef CONFIG_SND_DEBUG_VERBOSE
        static const char * const lo_type[3] = { "LO", "SP", "HP" };
-#endif
        int i;
 
        debug_badness("multi_outs = %x/%x/%x/%x : %x/%x/%x/%x (type %s)\n",
index 3b9be752f3e2f8cdd5c9c248c1569a94446a49e9..b8fe40531b9c52f905a45a0505dd1e9f09d107d4 100644 (file)
@@ -3266,11 +3266,13 @@ static int check_default_spdif_aclink(struct pci_dev *pci)
        w = snd_pci_quirk_lookup(pci, spdif_aclink_defaults);
        if (w) {
                if (w->value)
-                       snd_printdd(KERN_INFO "intel8x0: Using SPDIF over "
-                                   "AC-Link for %s\n", w->name);
+                       snd_printdd(KERN_INFO
+                                   "intel8x0: Using SPDIF over AC-Link for %s\n",
+                                   snd_pci_quirk_name(w));
                else
-                       snd_printdd(KERN_INFO "intel8x0: Using integrated "
-                                   "SPDIF DMA for %s\n", w->name);
+                       snd_printdd(KERN_INFO
+                                   "intel8x0: Using integrated SPDIF DMA for %s\n",
+                                   snd_pci_quirk_name(w));
                return w->value;
        }
        return 0;
index 9387533f70dc36c9d6b7cfd5498ff6a468fa09d8..c76ac14112108a9a07eef1bd3c844f48b92228eb 100644 (file)
@@ -2586,8 +2586,9 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
        else {
                quirk = snd_pci_quirk_lookup(pci, m3_amp_quirk_list);
                if (quirk) {
-                       snd_printdd(KERN_INFO "maestro3: set amp-gpio "
-                                   "for '%s'\n", quirk->name);
+                       snd_printdd(KERN_INFO
+                                   "maestro3: set amp-gpio for '%s'\n",
+                                   snd_pci_quirk_name(quirk));
                        chip->amp_gpio = quirk->value;
                } else if (chip->allegro_flag)
                        chip->amp_gpio = GPO_EXT_AMP_ALLEGRO;
@@ -2597,8 +2598,9 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
 
        quirk = snd_pci_quirk_lookup(pci, m3_irda_quirk_list);
        if (quirk) {
-               snd_printdd(KERN_INFO "maestro3: enabled irda workaround "
-                           "for '%s'\n", quirk->name);
+               snd_printdd(KERN_INFO
+                           "maestro3: enabled irda workaround for '%s'\n",
+                           snd_pci_quirk_name(quirk));
                chip->irda_workaround = 1;
        }
        quirk = snd_pci_quirk_lookup(pci, m3_hv_quirk_list);
index 563a193e36a3d84d65998c45fb0fb0b5279eb532..6febedb05936f3f441f55fdb297a42d57f8b7137 100644 (file)
@@ -1660,7 +1660,8 @@ static int snd_nm256_probe(struct pci_dev *pci,
 
        q = snd_pci_quirk_lookup(pci, nm256_quirks);
        if (q) {
-               snd_printdd(KERN_INFO "nm256: Enabled quirk for %s.\n", q->name);
+               snd_printdd(KERN_INFO "nm256: Enabled quirk for %s.\n",
+                           snd_pci_quirk_name(q));
                switch (q->value) {
                case NM_BLACKLISTED:
                        printk(KERN_INFO "nm256: The device is blacklisted. "
index b33db1e006e704f4c0c6d3806ae53a25537f0ad0..37b431b9b69d64fabe211123aea0a44ea589544e 100644 (file)
@@ -1012,13 +1012,12 @@ static int pcxhr_handle_async_err(struct pcxhr_mgr *mgr, u32 err,
                                  enum pcxhr_async_err_src err_src, int pipe,
                                  int is_capture)
 {
-#ifdef CONFIG_SND_DEBUG_VERBOSE
        static char* err_src_name[] = {
                [PCXHR_ERR_PIPE]        = "Pipe",
                [PCXHR_ERR_STREAM]      = "Stream",
                [PCXHR_ERR_AUDIO]       = "Audio"
        };
-#endif
+
        if (err & 0xfff)
                err &= 0xfff;
        else
index 6442f611a07bfc0d907dcfb1dd1b75c8aff1d2e2..d756a3562706c8182db03a358ec4edd9cc3a4437 100644 (file)
@@ -2517,7 +2517,7 @@ static int check_dxs_list(struct pci_dev *pci, int revision)
        w = snd_pci_quirk_lookup(pci, dxs_whitelist);
        if (w) {
                snd_printdd(KERN_INFO "via82xx: DXS white list for %s found\n",
-                           w->name);
+                           snd_pci_quirk_name(w));
                return w->value;
        }
 
index b839b60f9858344dba64481c1e874550183e2522..81f70a719bb94f152c7afb91e6ad61fb0a3a8131 100644 (file)
@@ -1179,9 +1179,7 @@ static void retire_capture_urb(struct snd_usb_substream *subs,
                if (!subs->txfr_quirk)
                        bytes = frames * stride;
                if (bytes % (runtime->sample_bits >> 3) != 0) {
-#ifdef CONFIG_SND_DEBUG_VERBOSE
                        int oldbytes = bytes;
-#endif
                        bytes = frames * stride;
                        snd_printdd(KERN_ERR "Corrected urb data len. %d->%d\n",
                                                        oldbytes, bytes);