Loading arch/arm/plat-pxa/ssp.c +1 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,7 @@ static const struct platform_device_id ssp_id_table[] = { { "pxa25x-nssp", PXA25x_NSSP }, { "pxa27x-ssp", PXA27x_SSP }, { "pxa168-ssp", PXA168_SSP }, { "pxa910-ssp", PXA910_SSP }, { }, }; Loading include/linux/pxa2xx_ssp.h +2 −0 Original line number Diff line number Diff line Loading @@ -160,7 +160,9 @@ enum pxa_ssp_type { PXA25x_SSP, /* pxa 210, 250, 255, 26x */ PXA25x_NSSP, /* pxa 255, 26x (including ASSP) */ PXA27x_SSP, PXA3xx_SSP, PXA168_SSP, PXA910_SSP, CE4100_SSP, }; Loading include/linux/spi/pxa2xx_spi.h +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ struct pxa2xx_spi_chip { void (*cs_control)(u32 command); }; #ifdef CONFIG_ARCH_PXA #if defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_MMP) #include <linux/clk.h> #include <mach/dma.h> Loading sound/soc/codecs/wm8904.c +12 −14 Original line number Diff line number Diff line Loading @@ -1863,6 +1863,7 @@ static int wm8904_set_bias_level(struct snd_soc_codec *codec, return ret; } regcache_cache_only(wm8904->regmap, false); regcache_sync(wm8904->regmap); /* Enable bias */ Loading Loading @@ -1899,14 +1900,8 @@ static int wm8904_set_bias_level(struct snd_soc_codec *codec, snd_soc_update_bits(codec, WM8904_BIAS_CONTROL_0, WM8904_BIAS_ENA, 0); #ifdef CONFIG_REGULATOR /* Post 2.6.34 we will be able to get a callback when * the regulators are disabled which we can use but * for now just assume that the power will be cut if * the regulator API is in use. */ codec->cache_sync = 1; #endif regcache_cache_only(wm8904->regmap, true); regcache_mark_dirty(wm8904->regmap); regulator_bulk_disable(ARRAY_SIZE(wm8904->supplies), wm8904->supplies); Loading Loading @@ -2084,10 +2079,8 @@ static int wm8904_probe(struct snd_soc_codec *codec) { struct wm8904_priv *wm8904 = snd_soc_codec_get_drvdata(codec); struct wm8904_pdata *pdata = wm8904->pdata; u16 *reg_cache = codec->reg_cache; int ret, i; codec->cache_sync = 1; codec->control_data = wm8904->regmap; switch (wm8904->devtype) { Loading Loading @@ -2150,6 +2143,7 @@ static int wm8904_probe(struct snd_soc_codec *codec) goto err_enable; } regcache_cache_only(wm8904->regmap, true); /* Change some default settings - latch VU and enable ZC */ snd_soc_update_bits(codec, WM8904_ADC_DIGITAL_VOLUME_LEFT, WM8904_ADC_VU, WM8904_ADC_VU); Loading Loading @@ -2180,14 +2174,18 @@ static int wm8904_probe(struct snd_soc_codec *codec) if (!pdata->gpio_cfg[i]) continue; reg_cache[WM8904_GPIO_CONTROL_1 + i] = pdata->gpio_cfg[i] & 0xffff; regmap_update_bits(wm8904->regmap, WM8904_GPIO_CONTROL_1 + i, 0xffff, pdata->gpio_cfg[i]); } /* Zero is the default value for these anyway */ for (i = 0; i < WM8904_MIC_REGS; i++) reg_cache[WM8904_MIC_BIAS_CONTROL_0 + i] = pdata->mic_cfg[i]; regmap_update_bits(wm8904->regmap, WM8904_MIC_BIAS_CONTROL_0 + i, 0xffff, pdata->mic_cfg[i]); } /* Set Class W by default - this will be managed by the Class Loading sound/soc/codecs/wm8996.c +3 −5 Original line number Diff line number Diff line Loading @@ -2837,8 +2837,6 @@ static int wm8996_probe(struct snd_soc_codec *codec) } } regcache_cache_only(codec->control_data, true); /* Apply platform data settings */ snd_soc_update_bits(codec, WM8996_LINE_INPUT_CONTROL, WM8996_INL_MODE_MASK | WM8996_INR_MODE_MASK, Loading Loading @@ -3051,7 +3049,6 @@ static int wm8996_remove(struct snd_soc_codec *codec) for (i = 0; i < ARRAY_SIZE(wm8996->supplies); i++) regulator_unregister_notifier(wm8996->supplies[i].consumer, &wm8996->disable_nb[i]); regulator_bulk_free(ARRAY_SIZE(wm8996->supplies), wm8996->supplies); return 0; } Loading Loading @@ -3206,14 +3203,15 @@ static __devinit int wm8996_i2c_probe(struct i2c_client *i2c, dev_info(&i2c->dev, "revision %c\n", (reg & WM8996_CHIP_REV_MASK) + 'A'); regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies); ret = wm8996_reset(wm8996); if (ret < 0) { dev_err(&i2c->dev, "Failed to issue reset\n"); goto err_regmap; } regcache_cache_only(wm8996->regmap, true); regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies); wm8996_init_gpio(wm8996); ret = snd_soc_register_codec(&i2c->dev, Loading Loading
arch/arm/plat-pxa/ssp.c +1 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,7 @@ static const struct platform_device_id ssp_id_table[] = { { "pxa25x-nssp", PXA25x_NSSP }, { "pxa27x-ssp", PXA27x_SSP }, { "pxa168-ssp", PXA168_SSP }, { "pxa910-ssp", PXA910_SSP }, { }, }; Loading
include/linux/pxa2xx_ssp.h +2 −0 Original line number Diff line number Diff line Loading @@ -160,7 +160,9 @@ enum pxa_ssp_type { PXA25x_SSP, /* pxa 210, 250, 255, 26x */ PXA25x_NSSP, /* pxa 255, 26x (including ASSP) */ PXA27x_SSP, PXA3xx_SSP, PXA168_SSP, PXA910_SSP, CE4100_SSP, }; Loading
include/linux/spi/pxa2xx_spi.h +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ struct pxa2xx_spi_chip { void (*cs_control)(u32 command); }; #ifdef CONFIG_ARCH_PXA #if defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_MMP) #include <linux/clk.h> #include <mach/dma.h> Loading
sound/soc/codecs/wm8904.c +12 −14 Original line number Diff line number Diff line Loading @@ -1863,6 +1863,7 @@ static int wm8904_set_bias_level(struct snd_soc_codec *codec, return ret; } regcache_cache_only(wm8904->regmap, false); regcache_sync(wm8904->regmap); /* Enable bias */ Loading Loading @@ -1899,14 +1900,8 @@ static int wm8904_set_bias_level(struct snd_soc_codec *codec, snd_soc_update_bits(codec, WM8904_BIAS_CONTROL_0, WM8904_BIAS_ENA, 0); #ifdef CONFIG_REGULATOR /* Post 2.6.34 we will be able to get a callback when * the regulators are disabled which we can use but * for now just assume that the power will be cut if * the regulator API is in use. */ codec->cache_sync = 1; #endif regcache_cache_only(wm8904->regmap, true); regcache_mark_dirty(wm8904->regmap); regulator_bulk_disable(ARRAY_SIZE(wm8904->supplies), wm8904->supplies); Loading Loading @@ -2084,10 +2079,8 @@ static int wm8904_probe(struct snd_soc_codec *codec) { struct wm8904_priv *wm8904 = snd_soc_codec_get_drvdata(codec); struct wm8904_pdata *pdata = wm8904->pdata; u16 *reg_cache = codec->reg_cache; int ret, i; codec->cache_sync = 1; codec->control_data = wm8904->regmap; switch (wm8904->devtype) { Loading Loading @@ -2150,6 +2143,7 @@ static int wm8904_probe(struct snd_soc_codec *codec) goto err_enable; } regcache_cache_only(wm8904->regmap, true); /* Change some default settings - latch VU and enable ZC */ snd_soc_update_bits(codec, WM8904_ADC_DIGITAL_VOLUME_LEFT, WM8904_ADC_VU, WM8904_ADC_VU); Loading Loading @@ -2180,14 +2174,18 @@ static int wm8904_probe(struct snd_soc_codec *codec) if (!pdata->gpio_cfg[i]) continue; reg_cache[WM8904_GPIO_CONTROL_1 + i] = pdata->gpio_cfg[i] & 0xffff; regmap_update_bits(wm8904->regmap, WM8904_GPIO_CONTROL_1 + i, 0xffff, pdata->gpio_cfg[i]); } /* Zero is the default value for these anyway */ for (i = 0; i < WM8904_MIC_REGS; i++) reg_cache[WM8904_MIC_BIAS_CONTROL_0 + i] = pdata->mic_cfg[i]; regmap_update_bits(wm8904->regmap, WM8904_MIC_BIAS_CONTROL_0 + i, 0xffff, pdata->mic_cfg[i]); } /* Set Class W by default - this will be managed by the Class Loading
sound/soc/codecs/wm8996.c +3 −5 Original line number Diff line number Diff line Loading @@ -2837,8 +2837,6 @@ static int wm8996_probe(struct snd_soc_codec *codec) } } regcache_cache_only(codec->control_data, true); /* Apply platform data settings */ snd_soc_update_bits(codec, WM8996_LINE_INPUT_CONTROL, WM8996_INL_MODE_MASK | WM8996_INR_MODE_MASK, Loading Loading @@ -3051,7 +3049,6 @@ static int wm8996_remove(struct snd_soc_codec *codec) for (i = 0; i < ARRAY_SIZE(wm8996->supplies); i++) regulator_unregister_notifier(wm8996->supplies[i].consumer, &wm8996->disable_nb[i]); regulator_bulk_free(ARRAY_SIZE(wm8996->supplies), wm8996->supplies); return 0; } Loading Loading @@ -3206,14 +3203,15 @@ static __devinit int wm8996_i2c_probe(struct i2c_client *i2c, dev_info(&i2c->dev, "revision %c\n", (reg & WM8996_CHIP_REV_MASK) + 'A'); regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies); ret = wm8996_reset(wm8996); if (ret < 0) { dev_err(&i2c->dev, "Failed to issue reset\n"); goto err_regmap; } regcache_cache_only(wm8996->regmap, true); regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies); wm8996_init_gpio(wm8996); ret = snd_soc_register_codec(&i2c->dev, Loading