aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/atmel/atmel_ssc_dai.c2
-rw-r--r--sound/soc/codecs/alc5623.c2
-rw-r--r--sound/soc/codecs/lm4857.c2
-rw-r--r--sound/soc/codecs/sn95031.c2
-rw-r--r--sound/soc/codecs/tlv320aic26.h4
-rw-r--r--sound/soc/codecs/tlv320aic3x.c2
-rw-r--r--sound/soc/codecs/tlv320dac33.c34
-rw-r--r--sound/soc/codecs/twl4030.c6
-rw-r--r--sound/soc/codecs/twl6040.c4
-rw-r--r--sound/soc/codecs/wm8580.c2
-rw-r--r--sound/soc/codecs/wm8753.c2
-rw-r--r--sound/soc/codecs/wm8904.c2
-rw-r--r--sound/soc/codecs/wm8955.c2
-rw-r--r--sound/soc/codecs/wm8962.c2
-rw-r--r--sound/soc/codecs/wm8991.c2
-rw-r--r--sound/soc/codecs/wm8993.c2
-rw-r--r--sound/soc/codecs/wm8994.c6
-rw-r--r--sound/soc/codecs/wm9081.c4
-rw-r--r--sound/soc/imx/imx-pcm-dma-mx2.c9
-rw-r--r--sound/soc/imx/imx-ssi.c2
-rw-r--r--sound/soc/imx/imx-ssi.h3
-rw-r--r--sound/soc/kirkwood/kirkwood-dma.c4
-rw-r--r--sound/soc/mid-x86/sst_platform.c4
-rw-r--r--sound/soc/omap/ams-delta.c6
-rw-r--r--sound/soc/pxa/corgi.c2
-rw-r--r--sound/soc/pxa/pxa2xx-pcm.c1
-rw-r--r--sound/soc/pxa/zylonite.c6
-rw-r--r--sound/soc/samsung/neo1973_wm8753.c4
-rw-r--r--sound/soc/soc-core.c8
-rw-r--r--sound/soc/soc-jack.c2
30 files changed, 74 insertions, 59 deletions
diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c
index 5d230cee3fa7..7fbfa051f6e1 100644
--- a/sound/soc/atmel/atmel_ssc_dai.c
+++ b/sound/soc/atmel/atmel_ssc_dai.c
@@ -672,7 +672,7 @@ static int atmel_ssc_resume(struct snd_soc_dai *cpu_dai)
672 /* re-enable interrupts */ 672 /* re-enable interrupts */
673 ssc_writel(ssc_p->ssc->regs, IER, ssc_p->ssc_state.ssc_imr); 673 ssc_writel(ssc_p->ssc->regs, IER, ssc_p->ssc_state.ssc_imr);
674 674
675 /* Re-enable recieve and transmit as appropriate */ 675 /* Re-enable receive and transmit as appropriate */
676 cr = 0; 676 cr = 0;
677 cr |= 677 cr |=
678 (ssc_p->ssc_state.ssc_sr & SSC_BIT(SR_RXEN)) ? SSC_BIT(CR_RXEN) : 0; 678 (ssc_p->ssc_state.ssc_sr & SSC_BIT(SR_RXEN)) ? SSC_BIT(CR_RXEN) : 0;
diff --git a/sound/soc/codecs/alc5623.c b/sound/soc/codecs/alc5623.c
index 4f377c9e868d..eecffb548947 100644
--- a/sound/soc/codecs/alc5623.c
+++ b/sound/soc/codecs/alc5623.c
@@ -481,7 +481,7 @@ struct _pll_div {
481}; 481};
482 482
483/* Note : pll code from original alc5623 driver. Not sure of how good it is */ 483/* Note : pll code from original alc5623 driver. Not sure of how good it is */
484/* usefull only for master mode */ 484/* useful only for master mode */
485static const struct _pll_div codec_master_pll_div[] = { 485static const struct _pll_div codec_master_pll_div[] = {
486 486
487 { 2048000, 8192000, 0x0ea0}, 487 { 2048000, 8192000, 0x0ea0},
diff --git a/sound/soc/codecs/lm4857.c b/sound/soc/codecs/lm4857.c
index 72de47e5d040..2c2a681da0d7 100644
--- a/sound/soc/codecs/lm4857.c
+++ b/sound/soc/codecs/lm4857.c
@@ -161,7 +161,7 @@ static const struct snd_kcontrol_new lm4857_controls[] = {
161 lm4857_get_mode, lm4857_set_mode), 161 lm4857_get_mode, lm4857_set_mode),
162}; 162};
163 163
164/* There is a demux inbetween the the input signal and the output signals. 164/* There is a demux between the input signal and the output signals.
165 * Currently there is no easy way to model it in ASoC and since it does not make 165 * Currently there is no easy way to model it in ASoC and since it does not make
166 * much of a difference in practice simply connect the input direclty to the 166 * much of a difference in practice simply connect the input direclty to the
167 * outputs. */ 167 * outputs. */
diff --git a/sound/soc/codecs/sn95031.c b/sound/soc/codecs/sn95031.c
index 2a30eae1881c..a54d2a5b28f6 100644
--- a/sound/soc/codecs/sn95031.c
+++ b/sound/soc/codecs/sn95031.c
@@ -26,7 +26,9 @@
26#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 26#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
27 27
28#include <linux/platform_device.h> 28#include <linux/platform_device.h>
29#include <linux/delay.h>
29#include <linux/slab.h> 30#include <linux/slab.h>
31
30#include <asm/intel_scu_ipc.h> 32#include <asm/intel_scu_ipc.h>
31#include <sound/pcm.h> 33#include <sound/pcm.h>
32#include <sound/pcm_params.h> 34#include <sound/pcm_params.h>
diff --git a/sound/soc/codecs/tlv320aic26.h b/sound/soc/codecs/tlv320aic26.h
index 62b1f2261429..67f19c3bebe6 100644
--- a/sound/soc/codecs/tlv320aic26.h
+++ b/sound/soc/codecs/tlv320aic26.h
@@ -14,14 +14,14 @@
14#define AIC26_PAGE_ADDR(page, offset) ((page << 6) | offset) 14#define AIC26_PAGE_ADDR(page, offset) ((page << 6) | offset)
15#define AIC26_NUM_REGS AIC26_PAGE_ADDR(3, 0) 15#define AIC26_NUM_REGS AIC26_PAGE_ADDR(3, 0)
16 16
17/* Page 0: Auxillary data registers */ 17/* Page 0: Auxiliary data registers */
18#define AIC26_REG_BAT1 AIC26_PAGE_ADDR(0, 0x05) 18#define AIC26_REG_BAT1 AIC26_PAGE_ADDR(0, 0x05)
19#define AIC26_REG_BAT2 AIC26_PAGE_ADDR(0, 0x06) 19#define AIC26_REG_BAT2 AIC26_PAGE_ADDR(0, 0x06)
20#define AIC26_REG_AUX AIC26_PAGE_ADDR(0, 0x07) 20#define AIC26_REG_AUX AIC26_PAGE_ADDR(0, 0x07)
21#define AIC26_REG_TEMP1 AIC26_PAGE_ADDR(0, 0x09) 21#define AIC26_REG_TEMP1 AIC26_PAGE_ADDR(0, 0x09)
22#define AIC26_REG_TEMP2 AIC26_PAGE_ADDR(0, 0x0A) 22#define AIC26_REG_TEMP2 AIC26_PAGE_ADDR(0, 0x0A)
23 23
24/* Page 1: Auxillary control registers */ 24/* Page 1: Auxiliary control registers */
25#define AIC26_REG_AUX_ADC AIC26_PAGE_ADDR(1, 0x00) 25#define AIC26_REG_AUX_ADC AIC26_PAGE_ADDR(1, 0x00)
26#define AIC26_REG_STATUS AIC26_PAGE_ADDR(1, 0x01) 26#define AIC26_REG_STATUS AIC26_PAGE_ADDR(1, 0x01)
27#define AIC26_REG_REFERENCE AIC26_PAGE_ADDR(1, 0x03) 27#define AIC26_REG_REFERENCE AIC26_PAGE_ADDR(1, 0x03)
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 3bedab26892f..6c43c13f0430 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -884,7 +884,7 @@ static int aic3x_hw_params(struct snd_pcm_substream *substream,
884 if (bypass_pll) 884 if (bypass_pll)
885 return 0; 885 return 0;
886 886
887 /* Use PLL, compute apropriate setup for j, d, r and p, the closest 887 /* Use PLL, compute appropriate setup for j, d, r and p, the closest
888 * one wins the game. Try with d==0 first, next with d!=0. 888 * one wins the game. Try with d==0 first, next with d!=0.
889 * Constraints for j are according to the datasheet. 889 * Constraints for j are according to the datasheet.
890 * The sysclk is divided by 1000 to prevent integer overflows. 890 * The sysclk is divided by 1000 to prevent integer overflows.
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index 00b6d87e7bdb..082e9d51963f 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -324,6 +324,10 @@ static void dac33_init_chip(struct snd_soc_codec *codec)
324 dac33_write(codec, DAC33_OUT_AMP_CTRL, 324 dac33_write(codec, DAC33_OUT_AMP_CTRL,
325 dac33_read_reg_cache(codec, DAC33_OUT_AMP_CTRL)); 325 dac33_read_reg_cache(codec, DAC33_OUT_AMP_CTRL));
326 326
327 dac33_write(codec, DAC33_LDAC_PWR_CTRL,
328 dac33_read_reg_cache(codec, DAC33_LDAC_PWR_CTRL));
329 dac33_write(codec, DAC33_RDAC_PWR_CTRL,
330 dac33_read_reg_cache(codec, DAC33_RDAC_PWR_CTRL));
327} 331}
328 332
329static inline int dac33_read_id(struct snd_soc_codec *codec) 333static inline int dac33_read_id(struct snd_soc_codec *codec)
@@ -670,6 +674,7 @@ static inline void dac33_prefill_handler(struct tlv320dac33_priv *dac33)
670{ 674{
671 struct snd_soc_codec *codec = dac33->codec; 675 struct snd_soc_codec *codec = dac33->codec;
672 unsigned int delay; 676 unsigned int delay;
677 unsigned long flags;
673 678
674 switch (dac33->fifo_mode) { 679 switch (dac33->fifo_mode) {
675 case DAC33_FIFO_MODE1: 680 case DAC33_FIFO_MODE1:
@@ -677,10 +682,10 @@ static inline void dac33_prefill_handler(struct tlv320dac33_priv *dac33)
677 DAC33_THRREG(dac33->nsample)); 682 DAC33_THRREG(dac33->nsample));
678 683
679 /* Take the timestamps */ 684 /* Take the timestamps */
680 spin_lock_irq(&dac33->lock); 685 spin_lock_irqsave(&dac33->lock, flags);
681 dac33->t_stamp2 = ktime_to_us(ktime_get()); 686 dac33->t_stamp2 = ktime_to_us(ktime_get());
682 dac33->t_stamp1 = dac33->t_stamp2; 687 dac33->t_stamp1 = dac33->t_stamp2;
683 spin_unlock_irq(&dac33->lock); 688 spin_unlock_irqrestore(&dac33->lock, flags);
684 689
685 dac33_write16(codec, DAC33_PREFILL_MSB, 690 dac33_write16(codec, DAC33_PREFILL_MSB,
686 DAC33_THRREG(dac33->alarm_threshold)); 691 DAC33_THRREG(dac33->alarm_threshold));
@@ -692,11 +697,11 @@ static inline void dac33_prefill_handler(struct tlv320dac33_priv *dac33)
692 break; 697 break;
693 case DAC33_FIFO_MODE7: 698 case DAC33_FIFO_MODE7:
694 /* Take the timestamp */ 699 /* Take the timestamp */
695 spin_lock_irq(&dac33->lock); 700 spin_lock_irqsave(&dac33->lock, flags);
696 dac33->t_stamp1 = ktime_to_us(ktime_get()); 701 dac33->t_stamp1 = ktime_to_us(ktime_get());
697 /* Move back the timestamp with drain time */ 702 /* Move back the timestamp with drain time */
698 dac33->t_stamp1 -= dac33->mode7_us_to_lthr; 703 dac33->t_stamp1 -= dac33->mode7_us_to_lthr;
699 spin_unlock_irq(&dac33->lock); 704 spin_unlock_irqrestore(&dac33->lock, flags);
700 705
701 dac33_write16(codec, DAC33_PREFILL_MSB, 706 dac33_write16(codec, DAC33_PREFILL_MSB,
702 DAC33_THRREG(DAC33_MODE7_MARGIN)); 707 DAC33_THRREG(DAC33_MODE7_MARGIN));
@@ -714,13 +719,14 @@ static inline void dac33_prefill_handler(struct tlv320dac33_priv *dac33)
714static inline void dac33_playback_handler(struct tlv320dac33_priv *dac33) 719static inline void dac33_playback_handler(struct tlv320dac33_priv *dac33)
715{ 720{
716 struct snd_soc_codec *codec = dac33->codec; 721 struct snd_soc_codec *codec = dac33->codec;
722 unsigned long flags;
717 723
718 switch (dac33->fifo_mode) { 724 switch (dac33->fifo_mode) {
719 case DAC33_FIFO_MODE1: 725 case DAC33_FIFO_MODE1:
720 /* Take the timestamp */ 726 /* Take the timestamp */
721 spin_lock_irq(&dac33->lock); 727 spin_lock_irqsave(&dac33->lock, flags);
722 dac33->t_stamp2 = ktime_to_us(ktime_get()); 728 dac33->t_stamp2 = ktime_to_us(ktime_get());
723 spin_unlock_irq(&dac33->lock); 729 spin_unlock_irqrestore(&dac33->lock, flags);
724 730
725 dac33_write16(codec, DAC33_NSAMPLE_MSB, 731 dac33_write16(codec, DAC33_NSAMPLE_MSB,
726 DAC33_THRREG(dac33->nsample)); 732 DAC33_THRREG(dac33->nsample));
@@ -773,10 +779,11 @@ static irqreturn_t dac33_interrupt_handler(int irq, void *dev)
773{ 779{
774 struct snd_soc_codec *codec = dev; 780 struct snd_soc_codec *codec = dev;
775 struct tlv320dac33_priv *dac33 = snd_soc_codec_get_drvdata(codec); 781 struct tlv320dac33_priv *dac33 = snd_soc_codec_get_drvdata(codec);
782 unsigned long flags;
776 783
777 spin_lock(&dac33->lock); 784 spin_lock_irqsave(&dac33->lock, flags);
778 dac33->t_stamp1 = ktime_to_us(ktime_get()); 785 dac33->t_stamp1 = ktime_to_us(ktime_get());
779 spin_unlock(&dac33->lock); 786 spin_unlock_irqrestore(&dac33->lock, flags);
780 787
781 /* Do not schedule the workqueue in Mode7 */ 788 /* Do not schedule the workqueue in Mode7 */
782 if (dac33->fifo_mode != DAC33_FIFO_MODE7) 789 if (dac33->fifo_mode != DAC33_FIFO_MODE7)
@@ -1020,7 +1027,7 @@ static int dac33_prepare_chip(struct snd_pcm_substream *substream)
1020 /* 1027 /*
1021 * For FIFO bypass mode: 1028 * For FIFO bypass mode:
1022 * Enable the FIFO bypass (Disable the FIFO use) 1029 * Enable the FIFO bypass (Disable the FIFO use)
1023 * Set the BCLK as continous 1030 * Set the BCLK as continuous
1024 */ 1031 */
1025 fifoctrl_a |= DAC33_FBYPAS; 1032 fifoctrl_a |= DAC33_FBYPAS;
1026 aictrl_b |= DAC33_BCLKON; 1033 aictrl_b |= DAC33_BCLKON;
@@ -1173,15 +1180,16 @@ static snd_pcm_sframes_t dac33_dai_delay(
1173 unsigned int time_delta, uthr; 1180 unsigned int time_delta, uthr;
1174 int samples_out, samples_in, samples; 1181 int samples_out, samples_in, samples;
1175 snd_pcm_sframes_t delay = 0; 1182 snd_pcm_sframes_t delay = 0;
1183 unsigned long flags;
1176 1184
1177 switch (dac33->fifo_mode) { 1185 switch (dac33->fifo_mode) {
1178 case DAC33_FIFO_BYPASS: 1186 case DAC33_FIFO_BYPASS:
1179 break; 1187 break;
1180 case DAC33_FIFO_MODE1: 1188 case DAC33_FIFO_MODE1:
1181 spin_lock(&dac33->lock); 1189 spin_lock_irqsave(&dac33->lock, flags);
1182 t0 = dac33->t_stamp1; 1190 t0 = dac33->t_stamp1;
1183 t1 = dac33->t_stamp2; 1191 t1 = dac33->t_stamp2;
1184 spin_unlock(&dac33->lock); 1192 spin_unlock_irqrestore(&dac33->lock, flags);
1185 t_now = ktime_to_us(ktime_get()); 1193 t_now = ktime_to_us(ktime_get());
1186 1194
1187 /* We have not started to fill the FIFO yet, delay is 0 */ 1195 /* We have not started to fill the FIFO yet, delay is 0 */
@@ -1246,10 +1254,10 @@ static snd_pcm_sframes_t dac33_dai_delay(
1246 } 1254 }
1247 break; 1255 break;
1248 case DAC33_FIFO_MODE7: 1256 case DAC33_FIFO_MODE7:
1249 spin_lock(&dac33->lock); 1257 spin_lock_irqsave(&dac33->lock, flags);
1250 t0 = dac33->t_stamp1; 1258 t0 = dac33->t_stamp1;
1251 uthr = dac33->uthr; 1259 uthr = dac33->uthr;
1252 spin_unlock(&dac33->lock); 1260 spin_unlock_irqrestore(&dac33->lock, flags);
1253 t_now = ktime_to_us(ktime_get()); 1261 t_now = ktime_to_us(ktime_get());
1254 1262
1255 /* We have not started to fill the FIFO yet, delay is 0 */ 1263 /* We have not started to fill the FIFO yet, delay is 0 */
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index 8512800f6326..575238d68e5e 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -281,7 +281,7 @@ static inline void twl4030_check_defaults(struct snd_soc_codec *codec)
281 i, val, twl4030_reg[i]); 281 i, val, twl4030_reg[i]);
282 } 282 }
283 } 283 }
284 dev_dbg(codec->dev, "Found %d non maching registers. %s\n", 284 dev_dbg(codec->dev, "Found %d non-matching registers. %s\n",
285 difference, difference ? "Not OK" : "OK"); 285 difference, difference ? "Not OK" : "OK");
286} 286}
287 287
@@ -2018,7 +2018,7 @@ static int twl4030_voice_startup(struct snd_pcm_substream *substream,
2018 u8 mode; 2018 u8 mode;
2019 2019
2020 /* If the system master clock is not 26MHz, the voice PCM interface is 2020 /* If the system master clock is not 26MHz, the voice PCM interface is
2021 * not avilable. 2021 * not available.
2022 */ 2022 */
2023 if (twl4030->sysclk != 26000) { 2023 if (twl4030->sysclk != 26000) {
2024 dev_err(codec->dev, "The board is configured for %u Hz, while" 2024 dev_err(codec->dev, "The board is configured for %u Hz, while"
@@ -2028,7 +2028,7 @@ static int twl4030_voice_startup(struct snd_pcm_substream *substream,
2028 } 2028 }
2029 2029
2030 /* If the codec mode is not option2, the voice PCM interface is not 2030 /* If the codec mode is not option2, the voice PCM interface is not
2031 * avilable. 2031 * available.
2032 */ 2032 */
2033 mode = twl4030_read_reg_cache(codec, TWL4030_REG_CODEC_MODE) 2033 mode = twl4030_read_reg_cache(codec, TWL4030_REG_CODEC_MODE)
2034 & TWL4030_OPT_MODE; 2034 & TWL4030_OPT_MODE;
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 482fcdb59bfa..255901c4460d 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -1629,8 +1629,10 @@ static int twl6040_probe(struct snd_soc_codec *codec)
1629 priv->naudint = naudint; 1629 priv->naudint = naudint;
1630 priv->workqueue = create_singlethread_workqueue("twl6040-codec"); 1630 priv->workqueue = create_singlethread_workqueue("twl6040-codec");
1631 1631
1632 if (!priv->workqueue) 1632 if (!priv->workqueue) {
1633 ret = -ENOMEM;
1633 goto work_err; 1634 goto work_err;
1635 }
1634 1636
1635 INIT_DELAYED_WORK(&priv->delayed_work, twl6040_accessory_work); 1637 INIT_DELAYED_WORK(&priv->delayed_work, twl6040_accessory_work);
1636 1638
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
index 8f6b5ee6645b..4bbc0a79f01e 100644
--- a/sound/soc/codecs/wm8580.c
+++ b/sound/soc/codecs/wm8580.c
@@ -772,7 +772,7 @@ static int wm8580_set_bias_level(struct snd_soc_codec *codec,
772 reg &= ~(WM8580_PWRDN1_PWDN | WM8580_PWRDN1_ALLDACPD); 772 reg &= ~(WM8580_PWRDN1_PWDN | WM8580_PWRDN1_ALLDACPD);
773 snd_soc_write(codec, WM8580_PWRDN1, reg); 773 snd_soc_write(codec, WM8580_PWRDN1, reg);
774 774
775 /* Make VMID high impedence */ 775 /* Make VMID high impedance */
776 reg = snd_soc_read(codec, WM8580_ADC_CONTROL1); 776 reg = snd_soc_read(codec, WM8580_ADC_CONTROL1);
777 reg &= ~0x100; 777 reg &= ~0x100;
778 snd_soc_write(codec, WM8580_ADC_CONTROL1, reg); 778 snd_soc_write(codec, WM8580_ADC_CONTROL1, reg);
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index 3f09deea8d9d..ffa2ffe5ec11 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -1312,7 +1312,7 @@ static int wm8753_set_bias_level(struct snd_soc_codec *codec,
1312 SNDRV_PCM_FMTBIT_S24_LE) 1312 SNDRV_PCM_FMTBIT_S24_LE)
1313 1313
1314/* 1314/*
1315 * The WM8753 supports upto 4 different and mutually exclusive DAI 1315 * The WM8753 supports up to 4 different and mutually exclusive DAI
1316 * configurations. This gives 2 PCM's available for use, hifi and voice. 1316 * configurations. This gives 2 PCM's available for use, hifi and voice.
1317 * NOTE: The Voice PCM cannot play or capture audio to the CPU as it's DAI 1317 * NOTE: The Voice PCM cannot play or capture audio to the CPU as it's DAI
1318 * is connected between the wm8753 and a BT codec or GSM modem. 1318 * is connected between the wm8753 and a BT codec or GSM modem.
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index 443ae580445c..9b3bba4df5b3 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -1895,7 +1895,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
1895 1895
1896 pr_debug("Fvco=%dHz\n", target); 1896 pr_debug("Fvco=%dHz\n", target);
1897 1897
1898 /* Find an appropraite FLL_FRATIO and factor it out of the target */ 1898 /* Find an appropriate FLL_FRATIO and factor it out of the target */
1899 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { 1899 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) {
1900 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { 1900 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) {
1901 fll_div->fll_fratio = fll_fratios[i].fll_fratio; 1901 fll_div->fll_fratio = fll_fratios[i].fll_fratio;
diff --git a/sound/soc/codecs/wm8955.c b/sound/soc/codecs/wm8955.c
index 5e0214d6293e..3c7198779c31 100644
--- a/sound/soc/codecs/wm8955.c
+++ b/sound/soc/codecs/wm8955.c
@@ -176,7 +176,7 @@ static int wm8995_pll_factors(struct device *dev,
176 return 0; 176 return 0;
177} 177}
178 178
179/* Lookup table specifiying SRATE (table 25 in datasheet); some of the 179/* Lookup table specifying SRATE (table 25 in datasheet); some of the
180 * output frequencies have been rounded to the standard frequencies 180 * output frequencies have been rounded to the standard frequencies
181 * they are intended to match where the error is slight. */ 181 * they are intended to match where the error is slight. */
182static struct { 182static struct {
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 3b71dd65c966..500011eb8b2b 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3137,7 +3137,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
3137 3137
3138 pr_debug("FLL Fvco=%dHz\n", target); 3138 pr_debug("FLL Fvco=%dHz\n", target);
3139 3139
3140 /* Find an appropraite FLL_FRATIO and factor it out of the target */ 3140 /* Find an appropriate FLL_FRATIO and factor it out of the target */
3141 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { 3141 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) {
3142 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { 3142 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) {
3143 fll_div->fll_fratio = fll_fratios[i].fll_fratio; 3143 fll_div->fll_fratio = fll_fratios[i].fll_fratio;
diff --git a/sound/soc/codecs/wm8991.c b/sound/soc/codecs/wm8991.c
index 28fdfd66661d..3c2ee1bb73cd 100644
--- a/sound/soc/codecs/wm8991.c
+++ b/sound/soc/codecs/wm8991.c
@@ -981,7 +981,7 @@ static int wm8991_set_dai_pll(struct snd_soc_dai *codec_dai,
981 reg = snd_soc_read(codec, WM8991_CLOCKING_2); 981 reg = snd_soc_read(codec, WM8991_CLOCKING_2);
982 snd_soc_write(codec, WM8991_CLOCKING_2, reg | WM8991_SYSCLK_SRC); 982 snd_soc_write(codec, WM8991_CLOCKING_2, reg | WM8991_SYSCLK_SRC);
983 983
984 /* set up N , fractional mode and pre-divisor if neccessary */ 984 /* set up N , fractional mode and pre-divisor if necessary */
985 snd_soc_write(codec, WM8991_PLL1, pll_div.n | WM8991_SDM | 985 snd_soc_write(codec, WM8991_PLL1, pll_div.n | WM8991_SDM |
986 (pll_div.div2 ? WM8991_PRESCALE : 0)); 986 (pll_div.div2 ? WM8991_PRESCALE : 0));
987 snd_soc_write(codec, WM8991_PLL2, (u8)(pll_div.k>>8)); 987 snd_soc_write(codec, WM8991_PLL2, (u8)(pll_div.k>>8));
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 379fa22c5b6c..056aef904347 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -324,7 +324,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
324 324
325 pr_debug("Fvco=%dHz\n", target); 325 pr_debug("Fvco=%dHz\n", target);
326 326
327 /* Find an appropraite FLL_FRATIO and factor it out of the target */ 327 /* Find an appropriate FLL_FRATIO and factor it out of the target */
328 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { 328 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) {
329 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { 329 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) {
330 fll_div->fll_fratio = fll_fratios[i].fll_fratio; 330 fll_div->fll_fratio = fll_fratios[i].fll_fratio;
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 3dc64c8b6a5c..3290333b2bb9 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -82,18 +82,18 @@ struct wm8994_priv {
82 82
83 int mbc_ena[3]; 83 int mbc_ena[3];
84 84
85 /* Platform dependant DRC configuration */ 85 /* Platform dependent DRC configuration */
86 const char **drc_texts; 86 const char **drc_texts;
87 int drc_cfg[WM8994_NUM_DRC]; 87 int drc_cfg[WM8994_NUM_DRC];
88 struct soc_enum drc_enum; 88 struct soc_enum drc_enum;
89 89
90 /* Platform dependant ReTune mobile configuration */ 90 /* Platform dependent ReTune mobile configuration */
91 int num_retune_mobile_texts; 91 int num_retune_mobile_texts;
92 const char **retune_mobile_texts; 92 const char **retune_mobile_texts;
93 int retune_mobile_cfg[WM8994_NUM_EQ]; 93 int retune_mobile_cfg[WM8994_NUM_EQ];
94 struct soc_enum retune_mobile_enum; 94 struct soc_enum retune_mobile_enum;
95 95
96 /* Platform dependant MBC configuration */ 96 /* Platform dependent MBC configuration */
97 int mbc_cfg; 97 int mbc_cfg;
98 const char **mbc_texts; 98 const char **mbc_texts;
99 struct soc_enum mbc_enum; 99 struct soc_enum mbc_enum;
diff --git a/sound/soc/codecs/wm9081.c b/sound/soc/codecs/wm9081.c
index 55cdf2982020..91c6b39de50c 100644
--- a/sound/soc/codecs/wm9081.c
+++ b/sound/soc/codecs/wm9081.c
@@ -305,7 +305,7 @@ static int speaker_mode_get(struct snd_kcontrol *kcontrol,
305/* 305/*
306 * Stop any attempts to change speaker mode while the speaker is enabled. 306 * Stop any attempts to change speaker mode while the speaker is enabled.
307 * 307 *
308 * We also have some special anti-pop controls dependant on speaker 308 * We also have some special anti-pop controls dependent on speaker
309 * mode which must be changed along with the mode. 309 * mode which must be changed along with the mode.
310 */ 310 */
311static int speaker_mode_put(struct snd_kcontrol *kcontrol, 311static int speaker_mode_put(struct snd_kcontrol *kcontrol,
@@ -456,7 +456,7 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
456 456
457 pr_debug("Fvco=%dHz\n", target); 457 pr_debug("Fvco=%dHz\n", target);
458 458
459 /* Find an appropraite FLL_FRATIO and factor it out of the target */ 459 /* Find an appropriate FLL_FRATIO and factor it out of the target */
460 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) { 460 for (i = 0; i < ARRAY_SIZE(fll_fratios); i++) {
461 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) { 461 if (fll_fratios[i].min <= Fref && Fref <= fll_fratios[i].max) {
462 fll_div->fll_fratio = fll_fratios[i].fll_fratio; 462 fll_div->fll_fratio = fll_fratios[i].fll_fratio;
diff --git a/sound/soc/imx/imx-pcm-dma-mx2.c b/sound/soc/imx/imx-pcm-dma-mx2.c
index 671ef8dd524c..aab7765f401a 100644
--- a/sound/soc/imx/imx-pcm-dma-mx2.c
+++ b/sound/soc/imx/imx-pcm-dma-mx2.c
@@ -110,12 +110,12 @@ static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream,
110 slave_config.direction = DMA_TO_DEVICE; 110 slave_config.direction = DMA_TO_DEVICE;
111 slave_config.dst_addr = dma_params->dma_addr; 111 slave_config.dst_addr = dma_params->dma_addr;
112 slave_config.dst_addr_width = buswidth; 112 slave_config.dst_addr_width = buswidth;
113 slave_config.dst_maxburst = dma_params->burstsize; 113 slave_config.dst_maxburst = dma_params->burstsize * buswidth;
114 } else { 114 } else {
115 slave_config.direction = DMA_FROM_DEVICE; 115 slave_config.direction = DMA_FROM_DEVICE;
116 slave_config.src_addr = dma_params->dma_addr; 116 slave_config.src_addr = dma_params->dma_addr;
117 slave_config.src_addr_width = buswidth; 117 slave_config.src_addr_width = buswidth;
118 slave_config.src_maxburst = dma_params->burstsize; 118 slave_config.src_maxburst = dma_params->burstsize * buswidth;
119 } 119 }
120 120
121 ret = dmaengine_slave_config(iprtd->dma_chan, &slave_config); 121 ret = dmaengine_slave_config(iprtd->dma_chan, &slave_config);
@@ -303,6 +303,11 @@ static struct snd_soc_platform_driver imx_soc_platform_mx2 = {
303 303
304static int __devinit imx_soc_platform_probe(struct platform_device *pdev) 304static int __devinit imx_soc_platform_probe(struct platform_device *pdev)
305{ 305{
306 struct imx_ssi *ssi = platform_get_drvdata(pdev);
307
308 ssi->dma_params_tx.burstsize = 6;
309 ssi->dma_params_rx.burstsize = 4;
310
306 return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2); 311 return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2);
307} 312}
308 313
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
index bc92ec620004..ac2ded969253 100644
--- a/sound/soc/imx/imx-ssi.c
+++ b/sound/soc/imx/imx-ssi.c
@@ -16,7 +16,7 @@
16 * sane processor vendors have a FIFO per AC97 slot, the i.MX has only 16 * sane processor vendors have a FIFO per AC97 slot, the i.MX has only
17 * one FIFO which combines all valid receive slots. We cannot even select 17 * one FIFO which combines all valid receive slots. We cannot even select
18 * which slots we want to receive. The WM9712 with which this driver 18 * which slots we want to receive. The WM9712 with which this driver
19 * was developped with always sends GPIO status data in slot 12 which 19 * was developed with always sends GPIO status data in slot 12 which
20 * we receive in our (PCM-) data stream. The only chance we have is to 20 * we receive in our (PCM-) data stream. The only chance we have is to
21 * manually skip this data in the FIQ handler. With sampling rates different 21 * manually skip this data in the FIQ handler. With sampling rates different
22 * from 48000Hz not every frame has valid receive data, so the ratio 22 * from 48000Hz not every frame has valid receive data, so the ratio
diff --git a/sound/soc/imx/imx-ssi.h b/sound/soc/imx/imx-ssi.h
index a4406a134892..dc8a87530e3e 100644
--- a/sound/soc/imx/imx-ssi.h
+++ b/sound/soc/imx/imx-ssi.h
@@ -234,7 +234,4 @@ void imx_pcm_free(struct snd_pcm *pcm);
234 */ 234 */
235#define IMX_SSI_DMABUF_SIZE (64 * 1024) 235#define IMX_SSI_DMABUF_SIZE (64 * 1024)
236 236
237#define DMA_RXFIFO_BURST 0x4
238#define DMA_TXFIFO_BURST 0x6
239
240#endif /* _IMX_SSI_H */ 237#endif /* _IMX_SSI_H */
diff --git a/sound/soc/kirkwood/kirkwood-dma.c b/sound/soc/kirkwood/kirkwood-dma.c
index 0fd6a630db01..e13c6ce46328 100644
--- a/sound/soc/kirkwood/kirkwood-dma.c
+++ b/sound/soc/kirkwood/kirkwood-dma.c
@@ -132,7 +132,7 @@ static int kirkwood_dma_open(struct snd_pcm_substream *substream)
132 priv = snd_soc_dai_get_dma_data(cpu_dai, substream); 132 priv = snd_soc_dai_get_dma_data(cpu_dai, substream);
133 snd_soc_set_runtime_hwparams(substream, &kirkwood_dma_snd_hw); 133 snd_soc_set_runtime_hwparams(substream, &kirkwood_dma_snd_hw);
134 134
135 /* Ensure that all constraints linked to dma burst are fullfilled */ 135 /* Ensure that all constraints linked to dma burst are fulfilled */
136 err = snd_pcm_hw_constraint_minmax(runtime, 136 err = snd_pcm_hw_constraint_minmax(runtime,
137 SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 137 SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
138 priv->burst * 2, 138 priv->burst * 2,
@@ -170,7 +170,7 @@ static int kirkwood_dma_open(struct snd_pcm_substream *substream)
170 170
171 /* 171 /*
172 * Enable Error interrupts. We're only ack'ing them but 172 * Enable Error interrupts. We're only ack'ing them but
173 * it's usefull for diagnostics 173 * it's useful for diagnostics
174 */ 174 */
175 writel((unsigned long)-1, priv->io + KIRKWOOD_ERR_MASK); 175 writel((unsigned long)-1, priv->io + KIRKWOOD_ERR_MASK);
176 } 176 }
diff --git a/sound/soc/mid-x86/sst_platform.c b/sound/soc/mid-x86/sst_platform.c
index ee2c22475a76..b2e9198a983a 100644
--- a/sound/soc/mid-x86/sst_platform.c
+++ b/sound/soc/mid-x86/sst_platform.c
@@ -440,7 +440,7 @@ static int sst_platform_remove(struct platform_device *pdev)
440 440
441 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sst_platform_dai)); 441 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sst_platform_dai));
442 snd_soc_unregister_platform(&pdev->dev); 442 snd_soc_unregister_platform(&pdev->dev);
443 pr_debug("sst_platform_remove sucess\n"); 443 pr_debug("sst_platform_remove success\n");
444 return 0; 444 return 0;
445} 445}
446 446
@@ -463,7 +463,7 @@ module_init(sst_soc_platform_init);
463static void __exit sst_soc_platform_exit(void) 463static void __exit sst_soc_platform_exit(void)
464{ 464{
465 platform_driver_unregister(&sst_platform_driver); 465 platform_driver_unregister(&sst_platform_driver);
466 pr_debug("sst_soc_platform_exit sucess\n"); 466 pr_debug("sst_soc_platform_exit success\n");
467} 467}
468module_exit(sst_soc_platform_exit); 468module_exit(sst_soc_platform_exit);
469 469
diff --git a/sound/soc/omap/ams-delta.c b/sound/soc/omap/ams-delta.c
index 3167be689621..462cbcbea74a 100644
--- a/sound/soc/omap/ams-delta.c
+++ b/sound/soc/omap/ams-delta.c
@@ -248,7 +248,7 @@ static struct snd_soc_jack_pin ams_delta_hook_switch_pins[] = {
248 */ 248 */
249 249
250/* To actually apply any modem controlled configuration changes to the codec, 250/* To actually apply any modem controlled configuration changes to the codec,
251 * we must connect codec DAI pins to the modem for a moment. Be carefull not 251 * we must connect codec DAI pins to the modem for a moment. Be careful not
252 * to interfere with our digital mute function that shares the same hardware. */ 252 * to interfere with our digital mute function that shares the same hardware. */
253static struct timer_list cx81801_timer; 253static struct timer_list cx81801_timer;
254static bool cx81801_cmd_pending; 254static bool cx81801_cmd_pending;
@@ -402,9 +402,9 @@ static struct tty_ldisc_ops cx81801_ops = {
402 402
403 403
404/* 404/*
405 * Even if not very usefull, the sound card can still work without any of the 405 * Even if not very useful, the sound card can still work without any of the
406 * above functonality activated. You can still control its audio input/output 406 * above functonality activated. You can still control its audio input/output
407 * constellation and speakerphone gain from userspace by issueing AT commands 407 * constellation and speakerphone gain from userspace by issuing AT commands
408 * over the modem port. 408 * over the modem port.
409 */ 409 */
410 410
diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c
index 784cff5f67e8..9027da466cae 100644
--- a/sound/soc/pxa/corgi.c
+++ b/sound/soc/pxa/corgi.c
@@ -310,7 +310,7 @@ static struct snd_soc_dai_link corgi_dai = {
310 .cpu_dai_name = "pxa2xx-i2s", 310 .cpu_dai_name = "pxa2xx-i2s",
311 .codec_dai_name = "wm8731-hifi", 311 .codec_dai_name = "wm8731-hifi",
312 .platform_name = "pxa-pcm-audio", 312 .platform_name = "pxa-pcm-audio",
313 .codec_name = "wm8731-codec-0.001b", 313 .codec_name = "wm8731-codec.0-001b",
314 .init = corgi_wm8731_init, 314 .init = corgi_wm8731_init,
315 .ops = &corgi_ops, 315 .ops = &corgi_ops,
316}; 316};
diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c
index 02fb66416ddc..2ce0b2d891d5 100644
--- a/sound/soc/pxa/pxa2xx-pcm.c
+++ b/sound/soc/pxa/pxa2xx-pcm.c
@@ -65,6 +65,7 @@ static int pxa2xx_pcm_hw_free(struct snd_pcm_substream *substream)
65 if (prtd->dma_ch >= 0) { 65 if (prtd->dma_ch >= 0) {
66 pxa_free_dma(prtd->dma_ch); 66 pxa_free_dma(prtd->dma_ch);
67 prtd->dma_ch = -1; 67 prtd->dma_ch = -1;
68 prtd->params = NULL;
68 } 69 }
69 70
70 return 0; 71 return 0;
diff --git a/sound/soc/pxa/zylonite.c b/sound/soc/pxa/zylonite.c
index ac577263b3e3..b6445757fc54 100644
--- a/sound/soc/pxa/zylonite.c
+++ b/sound/soc/pxa/zylonite.c
@@ -167,7 +167,7 @@ static struct snd_soc_dai_link zylonite_dai[] = {
167 .codec_name = "wm9713-codec", 167 .codec_name = "wm9713-codec",
168 .platform_name = "pxa-pcm-audio", 168 .platform_name = "pxa-pcm-audio",
169 .cpu_dai_name = "pxa2xx-ac97", 169 .cpu_dai_name = "pxa2xx-ac97",
170 .codec_name = "wm9713-hifi", 170 .codec_dai_name = "wm9713-hifi",
171 .init = zylonite_wm9713_init, 171 .init = zylonite_wm9713_init,
172}, 172},
173{ 173{
@@ -176,7 +176,7 @@ static struct snd_soc_dai_link zylonite_dai[] = {
176 .codec_name = "wm9713-codec", 176 .codec_name = "wm9713-codec",
177 .platform_name = "pxa-pcm-audio", 177 .platform_name = "pxa-pcm-audio",
178 .cpu_dai_name = "pxa2xx-ac97-aux", 178 .cpu_dai_name = "pxa2xx-ac97-aux",
179 .codec_name = "wm9713-aux", 179 .codec_dai_name = "wm9713-aux",
180}, 180},
181{ 181{
182 .name = "WM9713 Voice", 182 .name = "WM9713 Voice",
@@ -184,7 +184,7 @@ static struct snd_soc_dai_link zylonite_dai[] = {
184 .codec_name = "wm9713-codec", 184 .codec_name = "wm9713-codec",
185 .platform_name = "pxa-pcm-audio", 185 .platform_name = "pxa-pcm-audio",
186 .cpu_dai_name = "pxa-ssp-dai.2", 186 .cpu_dai_name = "pxa-ssp-dai.2",
187 .codec_name = "wm9713-voice", 187 .codec_dai_name = "wm9713-voice",
188 .ops = &zylonite_voice_ops, 188 .ops = &zylonite_voice_ops,
189}, 189},
190}; 190};
diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c
index 78bfdb3f5d7e..452230975632 100644
--- a/sound/soc/samsung/neo1973_wm8753.c
+++ b/sound/soc/samsung/neo1973_wm8753.c
@@ -228,7 +228,7 @@ static const struct snd_kcontrol_new neo1973_wm8753_controls[] = {
228 SOC_DAPM_PIN_SWITCH("Handset Mic"), 228 SOC_DAPM_PIN_SWITCH("Handset Mic"),
229}; 229};
230 230
231/* GTA02 specific routes and controlls */ 231/* GTA02 specific routes and controls */
232 232
233#ifdef CONFIG_MACH_NEO1973_GTA02 233#ifdef CONFIG_MACH_NEO1973_GTA02
234 234
@@ -372,7 +372,7 @@ static int neo1973_wm8753_init(struct snd_soc_pcm_runtime *rtd)
372 return 0; 372 return 0;
373} 373}
374 374
375/* GTA01 specific controlls */ 375/* GTA01 specific controls */
376 376
377#ifdef CONFIG_MACH_NEO1973_GTA01 377#ifdef CONFIG_MACH_NEO1973_GTA01
378 378
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 4dda58926bc5..b76b74db0968 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -92,8 +92,8 @@ static int min_bytes_needed(unsigned long val)
92static int format_register_str(struct snd_soc_codec *codec, 92static int format_register_str(struct snd_soc_codec *codec,
93 unsigned int reg, char *buf, size_t len) 93 unsigned int reg, char *buf, size_t len)
94{ 94{
95 int wordsize = codec->driver->reg_word_size * 2; 95 int wordsize = min_bytes_needed(codec->driver->reg_cache_size) * 2;
96 int regsize = min_bytes_needed(codec->driver->reg_cache_size) * 2; 96 int regsize = codec->driver->reg_word_size * 2;
97 int ret; 97 int ret;
98 char tmpbuf[len + 1]; 98 char tmpbuf[len + 1];
99 char regbuf[regsize + 1]; 99 char regbuf[regsize + 1];
@@ -132,8 +132,8 @@ static ssize_t soc_codec_reg_show(struct snd_soc_codec *codec, char *buf,
132 size_t total = 0; 132 size_t total = 0;
133 loff_t p = 0; 133 loff_t p = 0;
134 134
135 wordsize = codec->driver->reg_word_size * 2; 135 wordsize = min_bytes_needed(codec->driver->reg_cache_size) * 2;
136 regsize = min_bytes_needed(codec->driver->reg_cache_size) * 2; 136 regsize = codec->driver->reg_word_size * 2;
137 137
138 len = wordsize + regsize + 2 + 1; 138 len = wordsize + regsize + 2 + 1;
139 139
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c
index fcab80b36a37..fc017c0a7b5d 100644
--- a/sound/soc/soc-jack.c
+++ b/sound/soc/soc-jack.c
@@ -331,7 +331,7 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
331 goto err; 331 goto err;
332 332
333 if (gpios[i].wake) { 333 if (gpios[i].wake) {
334 ret = set_irq_wake(gpio_to_irq(gpios[i].gpio), 1); 334 ret = irq_set_irq_wake(gpio_to_irq(gpios[i].gpio), 1);
335 if (ret != 0) 335 if (ret != 0)
336 printk(KERN_ERR 336 printk(KERN_ERR
337 "Failed to mark GPIO %d as wake source: %d\n", 337 "Failed to mark GPIO %d as wake source: %d\n",