]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branches 'asoc/topic/mc13783', 'asoc/topic/multicodec', 'asoc...
authorMark Brown <broonie@linaro.org>
Tue, 6 May 2014 01:25:59 +0000 (18:25 -0700)
committerMark Brown <broonie@linaro.org>
Tue, 6 May 2014 01:25:59 +0000 (18:25 -0700)
1  2  3  4  5  6  7  8 
sound/soc/codecs/Kconfig
sound/soc/codecs/Makefile
sound/soc/codecs/mc13783.c
sound/soc/codecs/rt5640.c
sound/soc/soc-core.c

Simple merge
Simple merge
Simple merge
Simple merge
index ae8155803c04ba50f78fb10ca918508f5828f37d,051c006281f5c2c003583f7104c9ec02dc886dfc,54a1d91f1d9661aab8c9758380825e6d2db02329,051c006281f5c2c003583f7104c9ec02dc886dfc,448a60748523220e86a69027cde3e9dda3ab541b,051c006281f5c2c003583f7104c9ec02dc886dfc,051c006281f5c2c003583f7104c9ec02dc886dfc,051c006281f5c2c003583f7104c9ec02dc886dfc..b832875f07e7204be16707d6e3aa5b3d59bfba07
@@@@@@@@@ -1596,44 -1539,21 -1634,26 -1539,21 -1541,38 -1539,21 -1539,21 -1539,21 +1634,44 @@@@@@@@@ static void soc_unregister_ac97_codec(s
                        codec->ac97_registered = 0;
                }
        }
 + +++++
 + +++++static void soc_unregister_ac97_dai_link(struct snd_soc_pcm_runtime *rtd)
 + +++++{
 + +++++        soc_unregister_ac97_codec(rtd->codec);
 + +++++}
        #endif
        
 --- ---static int soc_check_aux_dev(struct snd_soc_card *card, int num)
    -   struct snd_soc_codec *soc_find_matching_codec(struct snd_soc_card *card, int num)
 +++++++static struct snd_soc_codec *soc_find_matching_codec(struct snd_soc_card *card,
 +++++++        int num)
        {
                struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
                struct snd_soc_codec *codec;
        
 --- ---        /* find CODEC from registered CODECs*/
 +++ +++        /* find CODEC from registered CODECs */
                list_for_each_entry(codec, &codec_list, list) {
 --- ---                if (!strcmp(codec->name, aux_dev->codec_name))
 --- ---                        return 0;
 +++ +++                if (aux_dev->codec_of_node &&
 +++ +++                   (codec->dev->of_node != aux_dev->codec_of_node))
 +++ +++                        continue;
 +++ +++                if (aux_dev->codec_name && strcmp(codec->name, aux_dev->codec_name))
 +++ +++                        continue;
 +++ +++                return codec;
                }
        
 --- ---        dev_err(card->dev, "ASoC: %s not registered\n", aux_dev->codec_name);
 +++ +++        return NULL;
 +++ +++}
  +     
 +++ +++static int soc_check_aux_dev(struct snd_soc_card *card, int num)
 +++ +++{
 +++ +++        struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
 +++ +++        const char *codecname = aux_dev->codec_name;
 +++ +++        struct snd_soc_codec *codec = soc_find_matching_codec(card, num);
 + + +++
 +++ +++        if (codec)
 +++ +++                return 0;
 +++ +++        if (aux_dev->codec_of_node)
 +++ +++                codecname = of_node_full_name(aux_dev->codec_of_node);
 +++ +++
 +++ +++        dev_err(card->dev, "ASoC: %s not registered\n", codecname);
                return -EPROBE_DEFER;
        }
        
@@@@@@@@@ -2551,22 -2667,14 -2767,14 -2667,14 -2683,14 -2667,14 -2667,14 -2667,14 +2589,22 @@@@@@@@@ static int snd_soc_read_signed(struct s
                int ret;
                unsigned int val;
        
 -------        val = (snd_soc_read(codec, reg) >> shift) & mask;
 +++++++        ret = snd_soc_component_read(component, reg, &val);
 +++++++        if (ret < 0)
 +++++++                return ret;
  + +   
 - - ---        if (!sign_bit)
 - - ---                return val;
 +++++++        val = (val >> shift) & mask;
 + + +++
  - -           if (!sign_bit)
  - -                   return val;
 +++++++        if (!sign_bit) {
 +++++++                *signed_val = val;
 +++++++                return 0;
 +++++++        }
        
                /* non-negative number */
 -------        if (!(val & BIT(sign_bit)))
 -------                return val;
 +++++++        if (!(val & BIT(sign_bit))) {
 +++++++                *signed_val = val;
 +++++++                return 0;
 +++++++        }
        
                ret = val;