Commit fca7f388 authored by Trent Piepho's avatar Trent Piepho Committed by Jaroslav Kysela

[ALSA] ca0106: replaced control add sequences with macro

Turn a rather long lined for loop that is duplicated multiple times into a
macro.
Signed-off-by: default avatarTrent Piepho <xyzzy@speakeasy.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent b18cd538
...@@ -643,9 +643,19 @@ static int __devinit rename_ctl(struct snd_card *card, const char *src, const ch ...@@ -643,9 +643,19 @@ static int __devinit rename_ctl(struct snd_card *card, const char *src, const ch
return -ENOENT; return -ENOENT;
} }
#define ADD_CTLS(emu, ctls) \
do { \
int i, err; \
for (i = 0; i < ARRAY_SIZE(ctls); i++) { \
err = snd_ctl_add(card, snd_ctl_new1(&ctls[i], emu)); \
if (err < 0) \
return err; \
} \
} while (0)
int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu) int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu)
{ {
int i, err; int err;
struct snd_card *card = emu->card; struct snd_card *card = emu->card;
char **c; char **c;
static char *ca0106_remove_ctls[] = { static char *ca0106_remove_ctls[] = {
...@@ -692,17 +702,9 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu) ...@@ -692,17 +702,9 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu)
rename_ctl(card, c[0], c[1]); rename_ctl(card, c[0], c[1]);
#endif #endif
for (i = 0; i < ARRAY_SIZE(snd_ca0106_volume_ctls); i++) { ADD_CTLS(emu, snd_ca0106_volume_ctls);
err = snd_ctl_add(card, snd_ctl_new1(&snd_ca0106_volume_ctls[i], emu));
if (err < 0)
return err;
}
if (emu->details->i2c_adc == 1) { if (emu->details->i2c_adc == 1) {
for (i = 0; i < ARRAY_SIZE(snd_ca0106_volume_i2c_adc_ctls); i++) { ADD_CTLS(emu, snd_ca0106_volume_i2c_adc_ctls);
err = snd_ctl_add(card, snd_ctl_new1(&snd_ca0106_volume_i2c_adc_ctls[i], emu));
if (err < 0)
return err;
}
if (emu->details->gpio_type == 1) if (emu->details->gpio_type == 1)
err = snd_ctl_add(card, snd_ctl_new1(&snd_ca0106_capture_mic_line_in, emu)); err = snd_ctl_add(card, snd_ctl_new1(&snd_ca0106_capture_mic_line_in, emu));
else /* gpio_type == 2 */ else /* gpio_type == 2 */
...@@ -710,13 +712,8 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu) ...@@ -710,13 +712,8 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu)
if (err < 0) if (err < 0)
return err; return err;
} }
if (emu->details->spi_dac == 1) { if (emu->details->spi_dac == 1)
for (i = 0; i < ARRAY_SIZE(snd_ca0106_volume_spi_dac_ctls); i++) { ADD_CTLS(emu, snd_ca0106_volume_spi_dac_ctls);
err = snd_ctl_add(card, snd_ctl_new1(&snd_ca0106_volume_spi_dac_ctls[i], emu));
if (err < 0)
return err;
}
}
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment