Merge remote-tracking branches 'asoc/fix/atmel', 'asoc/fix/intel', 'asoc/fix/rt5645...
authorMark Brown <broonie@kernel.org>
Tue, 16 Dec 2014 11:52:34 +0000 (11:52 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 16 Dec 2014 11:52:34 +0000 (11:52 +0000)
sound/soc/atmel/atmel_ssc_dai.c
sound/soc/codecs/Kconfig
sound/soc/codecs/pcm512x-i2c.c
sound/soc/codecs/rt5645.c
sound/soc/samsung/i2s.c

index b1cc2a4..99ff35e 100644 (file)
@@ -267,7 +267,7 @@ static void atmel_ssc_shutdown(struct snd_pcm_substream *substream,
        if (!ssc_p->dir_mask) {
                if (ssc_p->initialized) {
                        /* Shutdown the SSC clock. */
-                       pr_debug("atmel_ssc_dau: Stopping clock\n");
+                       pr_debug("atmel_ssc_dai: Stopping clock\n");
                        clk_disable(ssc_p->ssc->clk);
 
                        free_irq(ssc_p->ssc->irq, ssc_p);
index 883c577..8349f98 100644 (file)
@@ -520,6 +520,8 @@ config SND_SOC_RT5670
 
 config SND_SOC_RT5677
        tristate
+       select REGMAP_I2C
+       select REGMAP_IRQ
 
 config SND_SOC_RT5677_SPI
        tristate
index 4d62230..d0547fa 100644 (file)
@@ -24,8 +24,13 @@ static int pcm512x_i2c_probe(struct i2c_client *i2c,
                             const struct i2c_device_id *id)
 {
        struct regmap *regmap;
+       struct regmap_config config = pcm512x_regmap;
 
-       regmap = devm_regmap_init_i2c(i2c, &pcm512x_regmap);
+       /* msb needs to be set to enable auto-increment of addresses */
+       config.read_flag_mask = 0x80;
+       config.write_flag_mask = 0x80;
+
+       regmap = devm_regmap_init_i2c(i2c, &config);
        if (IS_ERR(regmap))
                return PTR_ERR(regmap);
 
index a7789a8..27141e2 100644 (file)
@@ -2209,6 +2209,10 @@ static int rt5645_jack_detect(struct snd_soc_codec *codec)
        int gpio_state, jack_type = 0;
        unsigned int val;
 
+       if (!gpio_is_valid(rt5645->pdata.hp_det_gpio)) {
+               dev_err(codec->dev, "invalid gpio\n");
+               return -EINVAL;
+       }
        gpio_state = gpio_get_value(rt5645->pdata.hp_det_gpio);
 
        dev_dbg(codec->dev, "gpio = %d(%d)\n", rt5645->pdata.hp_det_gpio,
index c7aafcd..eca17dc 100644 (file)
@@ -1261,6 +1261,8 @@ static int samsung_i2s_probe(struct platform_device *pdev)
                        ret = -ENOMEM;
                        goto err;
                }
+
+               sec_dai->variant_regs = pri_dai->variant_regs;
                sec_dai->dma_playback.dma_addr = regs_base + I2STXDS;
                sec_dai->dma_playback.ch_name = "tx-sec";