ASoC: Let snd_soc_limit_volume() take a snd_soc_card
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 18 Oct 2015 15:04:33 +0000 (17:04 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 22 Oct 2015 12:49:20 +0000 (13:49 +0100)
snd_soc_limit_volume() operates on a card and the CODEC that is passed in
is only used to look up the card. Let it directly take the card instead.
This makes it possible to use it when no snd_soc_codec is available.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Tested-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc.h
sound/soc/omap/rx51.c
sound/soc/soc-ops.c

index 884e728b09d9a57e8a56ac8ea224b3f873cb81c3..71e0c0566b6edab220d913e19a0a3004d247798a 100644 (file)
@@ -591,7 +591,7 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol,
        struct snd_ctl_elem_value *ucontrol);
 int snd_soc_get_volsw_range(struct snd_kcontrol *kcontrol,
        struct snd_ctl_elem_value *ucontrol);
-int snd_soc_limit_volume(struct snd_soc_codec *codec,
+int snd_soc_limit_volume(struct snd_soc_card *card,
        const char *name, int max);
 int snd_soc_bytes_info(struct snd_kcontrol *kcontrol,
                       struct snd_ctl_elem_info *uinfo);
index 3bebfb1d3a6f9b7ad9a8d20641018d16bf97f886..99538900a253395fe04eae7349a505f1eb87d659 100644 (file)
@@ -297,7 +297,7 @@ static int rx51_aic34_init(struct snd_soc_pcm_runtime *rtd)
                dev_err(card->dev, "Failed to add TPA6130A2 controls\n");
                return err;
        }
-       snd_soc_limit_volume(codec, "TPA6130A2 Headphone Playback Volume", 42);
+       snd_soc_limit_volume(card, "TPA6130A2 Headphone Playback Volume", 42);
 
        err = omap_mcbsp_st_add_controls(rtd, 2);
        if (err < 0) {
index 100d92b5b77ef92da6a7e64efd58ffde1437f769..20f702add3f8683788be66354f8e593dffc41879 100644 (file)
@@ -560,16 +560,16 @@ EXPORT_SYMBOL_GPL(snd_soc_get_volsw_range);
 /**
  * snd_soc_limit_volume - Set new limit to an existing volume control.
  *
- * @codec: where to look for the control
+ * @card: where to look for the control
  * @name: Name of the control
  * @max: new maximum limit
  *
  * Return 0 for success, else error.
  */
-int snd_soc_limit_volume(struct snd_soc_codec *codec,
+int snd_soc_limit_volume(struct snd_soc_card *card,
        const char *name, int max)
 {
-       struct snd_card *card = codec->component.card->snd_card;
+       struct snd_card *snd_card = card->snd_card;
        struct snd_kcontrol *kctl;
        struct soc_mixer_control *mc;
        int found = 0;
@@ -579,7 +579,7 @@ int snd_soc_limit_volume(struct snd_soc_codec *codec,
        if (unlikely(!name || max <= 0))
                return -EINVAL;
 
-       list_for_each_entry(kctl, &card->controls, list) {
+       list_for_each_entry(kctl, &snd_card->controls, list) {
                if (!strncmp(kctl->id.name, name, sizeof(kctl->id.name))) {
                        found = 1;
                        break;