aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-09-03 10:57:41 -0400
committerTakashi Iwai <tiwai@suse.de>2014-09-03 10:57:41 -0400
commit05244d166739ae273fdc7a2151bdef61df49ca7d (patch)
tree9065482d33f445c90f0b99d29aa51485d1d96488 /sound/soc
parentacf08081adb5e8fe0519eb97bb49797ef52614d6 (diff)
parentf58f0cba15c2d0bfbc72b1eedd0a6294e8c83419 (diff)
Merge tag 'asoc-v3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.17 A few more driver specific fixes on top of the currently pending fixes (which are already in your tree but not Linus').
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/au1x/psc-ac97.c140
-rw-r--r--sound/soc/au1x/psc-i2s.c100
-rw-r--r--sound/soc/au1x/psc.h22
-rw-r--r--sound/soc/codecs/arizona.c10
-rw-r--r--sound/soc/codecs/cs4265.c12
-rw-r--r--sound/soc/codecs/da732x.h2
-rw-r--r--sound/soc/codecs/rt5640.c1
-rw-r--r--sound/soc/codecs/rt5677.c8
-rw-r--r--sound/soc/generic/simple-card.c8
-rw-r--r--sound/soc/omap/omap-twl4030.c2
-rw-r--r--sound/soc/samsung/goni_wm8994.c2
-rw-r--r--sound/soc/sh/rcar/gen.c2
-rw-r--r--sound/soc/soc-core.c2
-rw-r--r--sound/soc/tegra/tegra_asoc_utils.h2
14 files changed, 161 insertions, 152 deletions
diff --git a/sound/soc/au1x/psc-ac97.c b/sound/soc/au1x/psc-ac97.c
index 986dcec79fa0..84f31e1f9d24 100644
--- a/sound/soc/au1x/psc-ac97.c
+++ b/sound/soc/au1x/psc-ac97.c
@@ -79,28 +79,28 @@ static unsigned short au1xpsc_ac97_read(struct snd_ac97 *ac97,
79 unsigned short retry, tmo; 79 unsigned short retry, tmo;
80 unsigned long data; 80 unsigned long data;
81 81
82 au_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata)); 82 __raw_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata));
83 au_sync(); 83 wmb(); /* drain writebuffer */
84 84
85 retry = AC97_RW_RETRIES; 85 retry = AC97_RW_RETRIES;
86 do { 86 do {
87 mutex_lock(&pscdata->lock); 87 mutex_lock(&pscdata->lock);
88 88
89 au_writel(PSC_AC97CDC_RD | PSC_AC97CDC_INDX(reg), 89 __raw_writel(PSC_AC97CDC_RD | PSC_AC97CDC_INDX(reg),
90 AC97_CDC(pscdata)); 90 AC97_CDC(pscdata));
91 au_sync(); 91 wmb(); /* drain writebuffer */
92 92
93 tmo = 20; 93 tmo = 20;
94 do { 94 do {
95 udelay(21); 95 udelay(21);
96 if (au_readl(AC97_EVNT(pscdata)) & PSC_AC97EVNT_CD) 96 if (__raw_readl(AC97_EVNT(pscdata)) & PSC_AC97EVNT_CD)
97 break; 97 break;
98 } while (--tmo); 98 } while (--tmo);
99 99
100 data = au_readl(AC97_CDC(pscdata)); 100 data = __raw_readl(AC97_CDC(pscdata));
101 101
102 au_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata)); 102 __raw_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata));
103 au_sync(); 103 wmb(); /* drain writebuffer */
104 104
105 mutex_unlock(&pscdata->lock); 105 mutex_unlock(&pscdata->lock);
106 106
@@ -119,26 +119,26 @@ static void au1xpsc_ac97_write(struct snd_ac97 *ac97, unsigned short reg,
119 struct au1xpsc_audio_data *pscdata = ac97_to_pscdata(ac97); 119 struct au1xpsc_audio_data *pscdata = ac97_to_pscdata(ac97);
120 unsigned int tmo, retry; 120 unsigned int tmo, retry;
121 121
122 au_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata)); 122 __raw_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata));
123 au_sync(); 123 wmb(); /* drain writebuffer */
124 124
125 retry = AC97_RW_RETRIES; 125 retry = AC97_RW_RETRIES;
126 do { 126 do {
127 mutex_lock(&pscdata->lock); 127 mutex_lock(&pscdata->lock);
128 128
129 au_writel(PSC_AC97CDC_INDX(reg) | (val & 0xffff), 129 __raw_writel(PSC_AC97CDC_INDX(reg) | (val & 0xffff),
130 AC97_CDC(pscdata)); 130 AC97_CDC(pscdata));
131 au_sync(); 131 wmb(); /* drain writebuffer */
132 132
133 tmo = 20; 133 tmo = 20;
134 do { 134 do {
135 udelay(21); 135 udelay(21);
136 if (au_readl(AC97_EVNT(pscdata)) & PSC_AC97EVNT_CD) 136 if (__raw_readl(AC97_EVNT(pscdata)) & PSC_AC97EVNT_CD)
137 break; 137 break;
138 } while (--tmo); 138 } while (--tmo);
139 139
140 au_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata)); 140 __raw_writel(PSC_AC97EVNT_CD, AC97_EVNT(pscdata));
141 au_sync(); 141 wmb(); /* drain writebuffer */
142 142
143 mutex_unlock(&pscdata->lock); 143 mutex_unlock(&pscdata->lock);
144 } while (--retry && !tmo); 144 } while (--retry && !tmo);
@@ -149,11 +149,11 @@ static void au1xpsc_ac97_warm_reset(struct snd_ac97 *ac97)
149{ 149{
150 struct au1xpsc_audio_data *pscdata = ac97_to_pscdata(ac97); 150 struct au1xpsc_audio_data *pscdata = ac97_to_pscdata(ac97);
151 151
152 au_writel(PSC_AC97RST_SNC, AC97_RST(pscdata)); 152 __raw_writel(PSC_AC97RST_SNC, AC97_RST(pscdata));
153 au_sync(); 153 wmb(); /* drain writebuffer */
154 msleep(10); 154 msleep(10);
155 au_writel(0, AC97_RST(pscdata)); 155 __raw_writel(0, AC97_RST(pscdata));
156 au_sync(); 156 wmb(); /* drain writebuffer */
157} 157}
158 158
159static void au1xpsc_ac97_cold_reset(struct snd_ac97 *ac97) 159static void au1xpsc_ac97_cold_reset(struct snd_ac97 *ac97)
@@ -162,25 +162,25 @@ static void au1xpsc_ac97_cold_reset(struct snd_ac97 *ac97)
162 int i; 162 int i;
163 163
164 /* disable PSC during cold reset */ 164 /* disable PSC during cold reset */
165 au_writel(0, AC97_CFG(au1xpsc_ac97_workdata)); 165 __raw_writel(0, AC97_CFG(au1xpsc_ac97_workdata));
166 au_sync(); 166 wmb(); /* drain writebuffer */
167 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(pscdata)); 167 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(pscdata));
168 au_sync(); 168 wmb(); /* drain writebuffer */
169 169
170 /* issue cold reset */ 170 /* issue cold reset */
171 au_writel(PSC_AC97RST_RST, AC97_RST(pscdata)); 171 __raw_writel(PSC_AC97RST_RST, AC97_RST(pscdata));
172 au_sync(); 172 wmb(); /* drain writebuffer */
173 msleep(500); 173 msleep(500);
174 au_writel(0, AC97_RST(pscdata)); 174 __raw_writel(0, AC97_RST(pscdata));
175 au_sync(); 175 wmb(); /* drain writebuffer */
176 176
177 /* enable PSC */ 177 /* enable PSC */
178 au_writel(PSC_CTRL_ENABLE, PSC_CTRL(pscdata)); 178 __raw_writel(PSC_CTRL_ENABLE, PSC_CTRL(pscdata));
179 au_sync(); 179 wmb(); /* drain writebuffer */
180 180
181 /* wait for PSC to indicate it's ready */ 181 /* wait for PSC to indicate it's ready */
182 i = 1000; 182 i = 1000;
183 while (!((au_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_SR)) && (--i)) 183 while (!((__raw_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_SR)) && (--i))
184 msleep(1); 184 msleep(1);
185 185
186 if (i == 0) { 186 if (i == 0) {
@@ -189,12 +189,12 @@ static void au1xpsc_ac97_cold_reset(struct snd_ac97 *ac97)
189 } 189 }
190 190
191 /* enable the ac97 function */ 191 /* enable the ac97 function */
192 au_writel(pscdata->cfg | PSC_AC97CFG_DE_ENABLE, AC97_CFG(pscdata)); 192 __raw_writel(pscdata->cfg | PSC_AC97CFG_DE_ENABLE, AC97_CFG(pscdata));
193 au_sync(); 193 wmb(); /* drain writebuffer */
194 194
195 /* wait for AC97 core to become ready */ 195 /* wait for AC97 core to become ready */
196 i = 1000; 196 i = 1000;
197 while (!((au_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_DR)) && (--i)) 197 while (!((__raw_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_DR)) && (--i))
198 msleep(1); 198 msleep(1);
199 if (i == 0) 199 if (i == 0)
200 printk(KERN_ERR "au1xpsc-ac97: AC97 ctrl not ready\n"); 200 printk(KERN_ERR "au1xpsc-ac97: AC97 ctrl not ready\n");
@@ -218,8 +218,8 @@ static int au1xpsc_ac97_hw_params(struct snd_pcm_substream *substream,
218 218
219 chans = params_channels(params); 219 chans = params_channels(params);
220 220
221 r = ro = au_readl(AC97_CFG(pscdata)); 221 r = ro = __raw_readl(AC97_CFG(pscdata));
222 stat = au_readl(AC97_STAT(pscdata)); 222 stat = __raw_readl(AC97_STAT(pscdata));
223 223
224 /* already active? */ 224 /* already active? */
225 if (stat & (PSC_AC97STAT_TB | PSC_AC97STAT_RB)) { 225 if (stat & (PSC_AC97STAT_TB | PSC_AC97STAT_RB)) {
@@ -252,28 +252,28 @@ static int au1xpsc_ac97_hw_params(struct snd_pcm_substream *substream,
252 mutex_lock(&pscdata->lock); 252 mutex_lock(&pscdata->lock);
253 253
254 /* disable AC97 device controller first... */ 254 /* disable AC97 device controller first... */
255 au_writel(r & ~PSC_AC97CFG_DE_ENABLE, AC97_CFG(pscdata)); 255 __raw_writel(r & ~PSC_AC97CFG_DE_ENABLE, AC97_CFG(pscdata));
256 au_sync(); 256 wmb(); /* drain writebuffer */
257 257
258 /* ...wait for it... */ 258 /* ...wait for it... */
259 t = 100; 259 t = 100;
260 while ((au_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_DR) && --t) 260 while ((__raw_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_DR) && --t)
261 msleep(1); 261 msleep(1);
262 262
263 if (!t) 263 if (!t)
264 printk(KERN_ERR "PSC-AC97: can't disable!\n"); 264 printk(KERN_ERR "PSC-AC97: can't disable!\n");
265 265
266 /* ...write config... */ 266 /* ...write config... */
267 au_writel(r, AC97_CFG(pscdata)); 267 __raw_writel(r, AC97_CFG(pscdata));
268 au_sync(); 268 wmb(); /* drain writebuffer */
269 269
270 /* ...enable the AC97 controller again... */ 270 /* ...enable the AC97 controller again... */
271 au_writel(r | PSC_AC97CFG_DE_ENABLE, AC97_CFG(pscdata)); 271 __raw_writel(r | PSC_AC97CFG_DE_ENABLE, AC97_CFG(pscdata));
272 au_sync(); 272 wmb(); /* drain writebuffer */
273 273
274 /* ...and wait for ready bit */ 274 /* ...and wait for ready bit */
275 t = 100; 275 t = 100;
276 while ((!(au_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_DR)) && --t) 276 while ((!(__raw_readl(AC97_STAT(pscdata)) & PSC_AC97STAT_DR)) && --t)
277 msleep(1); 277 msleep(1);
278 278
279 if (!t) 279 if (!t)
@@ -300,21 +300,21 @@ static int au1xpsc_ac97_trigger(struct snd_pcm_substream *substream,
300 switch (cmd) { 300 switch (cmd) {
301 case SNDRV_PCM_TRIGGER_START: 301 case SNDRV_PCM_TRIGGER_START:
302 case SNDRV_PCM_TRIGGER_RESUME: 302 case SNDRV_PCM_TRIGGER_RESUME:
303 au_writel(AC97PCR_CLRFIFO(stype), AC97_PCR(pscdata)); 303 __raw_writel(AC97PCR_CLRFIFO(stype), AC97_PCR(pscdata));
304 au_sync(); 304 wmb(); /* drain writebuffer */
305 au_writel(AC97PCR_START(stype), AC97_PCR(pscdata)); 305 __raw_writel(AC97PCR_START(stype), AC97_PCR(pscdata));
306 au_sync(); 306 wmb(); /* drain writebuffer */
307 break; 307 break;
308 case SNDRV_PCM_TRIGGER_STOP: 308 case SNDRV_PCM_TRIGGER_STOP:
309 case SNDRV_PCM_TRIGGER_SUSPEND: 309 case SNDRV_PCM_TRIGGER_SUSPEND:
310 au_writel(AC97PCR_STOP(stype), AC97_PCR(pscdata)); 310 __raw_writel(AC97PCR_STOP(stype), AC97_PCR(pscdata));
311 au_sync(); 311 wmb(); /* drain writebuffer */
312 312
313 while (au_readl(AC97_STAT(pscdata)) & AC97STAT_BUSY(stype)) 313 while (__raw_readl(AC97_STAT(pscdata)) & AC97STAT_BUSY(stype))
314 asm volatile ("nop"); 314 asm volatile ("nop");
315 315
316 au_writel(AC97PCR_CLRFIFO(stype), AC97_PCR(pscdata)); 316 __raw_writel(AC97PCR_CLRFIFO(stype), AC97_PCR(pscdata));
317 au_sync(); 317 wmb(); /* drain writebuffer */
318 318
319 break; 319 break;
320 default: 320 default:
@@ -398,13 +398,13 @@ static int au1xpsc_ac97_drvprobe(struct platform_device *pdev)
398 PSC_AC97CFG_DE_ENABLE; 398 PSC_AC97CFG_DE_ENABLE;
399 399
400 /* preserve PSC clock source set up by platform */ 400 /* preserve PSC clock source set up by platform */
401 sel = au_readl(PSC_SEL(wd)) & PSC_SEL_CLK_MASK; 401 sel = __raw_readl(PSC_SEL(wd)) & PSC_SEL_CLK_MASK;
402 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd)); 402 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
403 au_sync(); 403 wmb(); /* drain writebuffer */
404 au_writel(0, PSC_SEL(wd)); 404 __raw_writel(0, PSC_SEL(wd));
405 au_sync(); 405 wmb(); /* drain writebuffer */
406 au_writel(PSC_SEL_PS_AC97MODE | sel, PSC_SEL(wd)); 406 __raw_writel(PSC_SEL_PS_AC97MODE | sel, PSC_SEL(wd));
407 au_sync(); 407 wmb(); /* drain writebuffer */
408 408
409 /* name the DAI like this device instance ("au1xpsc-ac97.PSCINDEX") */ 409 /* name the DAI like this device instance ("au1xpsc-ac97.PSCINDEX") */
410 memcpy(&wd->dai_drv, &au1xpsc_ac97_dai_template, 410 memcpy(&wd->dai_drv, &au1xpsc_ac97_dai_template,
@@ -433,10 +433,10 @@ static int au1xpsc_ac97_drvremove(struct platform_device *pdev)
433 snd_soc_unregister_component(&pdev->dev); 433 snd_soc_unregister_component(&pdev->dev);
434 434
435 /* disable PSC completely */ 435 /* disable PSC completely */
436 au_writel(0, AC97_CFG(wd)); 436 __raw_writel(0, AC97_CFG(wd));
437 au_sync(); 437 wmb(); /* drain writebuffer */
438 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd)); 438 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
439 au_sync(); 439 wmb(); /* drain writebuffer */
440 440
441 au1xpsc_ac97_workdata = NULL; /* MDEV */ 441 au1xpsc_ac97_workdata = NULL; /* MDEV */
442 442
@@ -449,12 +449,12 @@ static int au1xpsc_ac97_drvsuspend(struct device *dev)
449 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev); 449 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev);
450 450
451 /* save interesting registers and disable PSC */ 451 /* save interesting registers and disable PSC */
452 wd->pm[0] = au_readl(PSC_SEL(wd)); 452 wd->pm[0] = __raw_readl(PSC_SEL(wd));
453 453
454 au_writel(0, AC97_CFG(wd)); 454 __raw_writel(0, AC97_CFG(wd));
455 au_sync(); 455 wmb(); /* drain writebuffer */
456 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd)); 456 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
457 au_sync(); 457 wmb(); /* drain writebuffer */
458 458
459 return 0; 459 return 0;
460} 460}
@@ -464,8 +464,8 @@ static int au1xpsc_ac97_drvresume(struct device *dev)
464 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev); 464 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev);
465 465
466 /* restore PSC clock config */ 466 /* restore PSC clock config */
467 au_writel(wd->pm[0] | PSC_SEL_PS_AC97MODE, PSC_SEL(wd)); 467 __raw_writel(wd->pm[0] | PSC_SEL_PS_AC97MODE, PSC_SEL(wd));
468 au_sync(); 468 wmb(); /* drain writebuffer */
469 469
470 /* after this point the ac97 core will cold-reset the codec. 470 /* after this point the ac97 core will cold-reset the codec.
471 * During cold-reset the PSC is reinitialized and the last 471 * During cold-reset the PSC is reinitialized and the last
diff --git a/sound/soc/au1x/psc-i2s.c b/sound/soc/au1x/psc-i2s.c
index fe923a7bdc39..814beffc56f2 100644
--- a/sound/soc/au1x/psc-i2s.c
+++ b/sound/soc/au1x/psc-i2s.c
@@ -120,10 +120,10 @@ static int au1xpsc_i2s_hw_params(struct snd_pcm_substream *substream,
120 unsigned long stat; 120 unsigned long stat;
121 121
122 /* check if the PSC is already streaming data */ 122 /* check if the PSC is already streaming data */
123 stat = au_readl(I2S_STAT(pscdata)); 123 stat = __raw_readl(I2S_STAT(pscdata));
124 if (stat & (PSC_I2SSTAT_TB | PSC_I2SSTAT_RB)) { 124 if (stat & (PSC_I2SSTAT_TB | PSC_I2SSTAT_RB)) {
125 /* reject parameters not currently set up in hardware */ 125 /* reject parameters not currently set up in hardware */
126 cfgbits = au_readl(I2S_CFG(pscdata)); 126 cfgbits = __raw_readl(I2S_CFG(pscdata));
127 if ((PSC_I2SCFG_GET_LEN(cfgbits) != params->msbits) || 127 if ((PSC_I2SCFG_GET_LEN(cfgbits) != params->msbits) ||
128 (params_rate(params) != pscdata->rate)) 128 (params_rate(params) != pscdata->rate))
129 return -EINVAL; 129 return -EINVAL;
@@ -149,33 +149,33 @@ static int au1xpsc_i2s_configure(struct au1xpsc_audio_data *pscdata)
149 unsigned long tmo; 149 unsigned long tmo;
150 150
151 /* bring PSC out of sleep, and configure I2S unit */ 151 /* bring PSC out of sleep, and configure I2S unit */
152 au_writel(PSC_CTRL_ENABLE, PSC_CTRL(pscdata)); 152 __raw_writel(PSC_CTRL_ENABLE, PSC_CTRL(pscdata));
153 au_sync(); 153 wmb(); /* drain writebuffer */
154 154
155 tmo = 1000000; 155 tmo = 1000000;
156 while (!(au_readl(I2S_STAT(pscdata)) & PSC_I2SSTAT_SR) && tmo) 156 while (!(__raw_readl(I2S_STAT(pscdata)) & PSC_I2SSTAT_SR) && tmo)
157 tmo--; 157 tmo--;
158 158
159 if (!tmo) 159 if (!tmo)
160 goto psc_err; 160 goto psc_err;
161 161
162 au_writel(0, I2S_CFG(pscdata)); 162 __raw_writel(0, I2S_CFG(pscdata));
163 au_sync(); 163 wmb(); /* drain writebuffer */
164 au_writel(pscdata->cfg | PSC_I2SCFG_DE_ENABLE, I2S_CFG(pscdata)); 164 __raw_writel(pscdata->cfg | PSC_I2SCFG_DE_ENABLE, I2S_CFG(pscdata));
165 au_sync(); 165 wmb(); /* drain writebuffer */
166 166
167 /* wait for I2S controller to become ready */ 167 /* wait for I2S controller to become ready */
168 tmo = 1000000; 168 tmo = 1000000;
169 while (!(au_readl(I2S_STAT(pscdata)) & PSC_I2SSTAT_DR) && tmo) 169 while (!(__raw_readl(I2S_STAT(pscdata)) & PSC_I2SSTAT_DR) && tmo)
170 tmo--; 170 tmo--;
171 171
172 if (tmo) 172 if (tmo)
173 return 0; 173 return 0;
174 174
175psc_err: 175psc_err:
176 au_writel(0, I2S_CFG(pscdata)); 176 __raw_writel(0, I2S_CFG(pscdata));
177 au_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata)); 177 __raw_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata));
178 au_sync(); 178 wmb(); /* drain writebuffer */
179 return -ETIMEDOUT; 179 return -ETIMEDOUT;
180} 180}
181 181
@@ -187,26 +187,26 @@ static int au1xpsc_i2s_start(struct au1xpsc_audio_data *pscdata, int stype)
187 ret = 0; 187 ret = 0;
188 188
189 /* if both TX and RX are idle, configure the PSC */ 189 /* if both TX and RX are idle, configure the PSC */
190 stat = au_readl(I2S_STAT(pscdata)); 190 stat = __raw_readl(I2S_STAT(pscdata));
191 if (!(stat & (PSC_I2SSTAT_TB | PSC_I2SSTAT_RB))) { 191 if (!(stat & (PSC_I2SSTAT_TB | PSC_I2SSTAT_RB))) {
192 ret = au1xpsc_i2s_configure(pscdata); 192 ret = au1xpsc_i2s_configure(pscdata);
193 if (ret) 193 if (ret)
194 goto out; 194 goto out;
195 } 195 }
196 196
197 au_writel(I2SPCR_CLRFIFO(stype), I2S_PCR(pscdata)); 197 __raw_writel(I2SPCR_CLRFIFO(stype), I2S_PCR(pscdata));
198 au_sync(); 198 wmb(); /* drain writebuffer */
199 au_writel(I2SPCR_START(stype), I2S_PCR(pscdata)); 199 __raw_writel(I2SPCR_START(stype), I2S_PCR(pscdata));
200 au_sync(); 200 wmb(); /* drain writebuffer */
201 201
202 /* wait for start confirmation */ 202 /* wait for start confirmation */
203 tmo = 1000000; 203 tmo = 1000000;
204 while (!(au_readl(I2S_STAT(pscdata)) & I2SSTAT_BUSY(stype)) && tmo) 204 while (!(__raw_readl(I2S_STAT(pscdata)) & I2SSTAT_BUSY(stype)) && tmo)
205 tmo--; 205 tmo--;
206 206
207 if (!tmo) { 207 if (!tmo) {
208 au_writel(I2SPCR_STOP(stype), I2S_PCR(pscdata)); 208 __raw_writel(I2SPCR_STOP(stype), I2S_PCR(pscdata));
209 au_sync(); 209 wmb(); /* drain writebuffer */
210 ret = -ETIMEDOUT; 210 ret = -ETIMEDOUT;
211 } 211 }
212out: 212out:
@@ -217,21 +217,21 @@ static int au1xpsc_i2s_stop(struct au1xpsc_audio_data *pscdata, int stype)
217{ 217{
218 unsigned long tmo, stat; 218 unsigned long tmo, stat;
219 219
220 au_writel(I2SPCR_STOP(stype), I2S_PCR(pscdata)); 220 __raw_writel(I2SPCR_STOP(stype), I2S_PCR(pscdata));
221 au_sync(); 221 wmb(); /* drain writebuffer */
222 222
223 /* wait for stop confirmation */ 223 /* wait for stop confirmation */
224 tmo = 1000000; 224 tmo = 1000000;
225 while ((au_readl(I2S_STAT(pscdata)) & I2SSTAT_BUSY(stype)) && tmo) 225 while ((__raw_readl(I2S_STAT(pscdata)) & I2SSTAT_BUSY(stype)) && tmo)
226 tmo--; 226 tmo--;
227 227
228 /* if both TX and RX are idle, disable PSC */ 228 /* if both TX and RX are idle, disable PSC */
229 stat = au_readl(I2S_STAT(pscdata)); 229 stat = __raw_readl(I2S_STAT(pscdata));
230 if (!(stat & (PSC_I2SSTAT_TB | PSC_I2SSTAT_RB))) { 230 if (!(stat & (PSC_I2SSTAT_TB | PSC_I2SSTAT_RB))) {
231 au_writel(0, I2S_CFG(pscdata)); 231 __raw_writel(0, I2S_CFG(pscdata));
232 au_sync(); 232 wmb(); /* drain writebuffer */
233 au_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata)); 233 __raw_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata));
234 au_sync(); 234 wmb(); /* drain writebuffer */
235 } 235 }
236 return 0; 236 return 0;
237} 237}
@@ -332,12 +332,12 @@ static int au1xpsc_i2s_drvprobe(struct platform_device *pdev)
332 /* preserve PSC clock source set up by platform (dev.platform_data 332 /* preserve PSC clock source set up by platform (dev.platform_data
333 * is already occupied by soc layer) 333 * is already occupied by soc layer)
334 */ 334 */
335 sel = au_readl(PSC_SEL(wd)) & PSC_SEL_CLK_MASK; 335 sel = __raw_readl(PSC_SEL(wd)) & PSC_SEL_CLK_MASK;
336 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd)); 336 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
337 au_sync(); 337 wmb(); /* drain writebuffer */
338 au_writel(PSC_SEL_PS_I2SMODE | sel, PSC_SEL(wd)); 338 __raw_writel(PSC_SEL_PS_I2SMODE | sel, PSC_SEL(wd));
339 au_writel(0, I2S_CFG(wd)); 339 __raw_writel(0, I2S_CFG(wd));
340 au_sync(); 340 wmb(); /* drain writebuffer */
341 341
342 /* preconfigure: set max rx/tx fifo depths */ 342 /* preconfigure: set max rx/tx fifo depths */
343 wd->cfg |= PSC_I2SCFG_RT_FIFO8 | PSC_I2SCFG_TT_FIFO8; 343 wd->cfg |= PSC_I2SCFG_RT_FIFO8 | PSC_I2SCFG_TT_FIFO8;
@@ -364,10 +364,10 @@ static int au1xpsc_i2s_drvremove(struct platform_device *pdev)
364 364
365 snd_soc_unregister_component(&pdev->dev); 365 snd_soc_unregister_component(&pdev->dev);
366 366
367 au_writel(0, I2S_CFG(wd)); 367 __raw_writel(0, I2S_CFG(wd));
368 au_sync(); 368 wmb(); /* drain writebuffer */
369 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd)); 369 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
370 au_sync(); 370 wmb(); /* drain writebuffer */
371 371
372 return 0; 372 return 0;
373} 373}
@@ -378,12 +378,12 @@ static int au1xpsc_i2s_drvsuspend(struct device *dev)
378 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev); 378 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev);
379 379
380 /* save interesting register and disable PSC */ 380 /* save interesting register and disable PSC */
381 wd->pm[0] = au_readl(PSC_SEL(wd)); 381 wd->pm[0] = __raw_readl(PSC_SEL(wd));
382 382
383 au_writel(0, I2S_CFG(wd)); 383 __raw_writel(0, I2S_CFG(wd));
384 au_sync(); 384 wmb(); /* drain writebuffer */
385 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd)); 385 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
386 au_sync(); 386 wmb(); /* drain writebuffer */
387 387
388 return 0; 388 return 0;
389} 389}
@@ -393,12 +393,12 @@ static int au1xpsc_i2s_drvresume(struct device *dev)
393 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev); 393 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev);
394 394
395 /* select I2S mode and PSC clock */ 395 /* select I2S mode and PSC clock */
396 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd)); 396 __raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
397 au_sync(); 397 wmb(); /* drain writebuffer */
398 au_writel(0, PSC_SEL(wd)); 398 __raw_writel(0, PSC_SEL(wd));
399 au_sync(); 399 wmb(); /* drain writebuffer */
400 au_writel(wd->pm[0], PSC_SEL(wd)); 400 __raw_writel(wd->pm[0], PSC_SEL(wd));
401 au_sync(); 401 wmb(); /* drain writebuffer */
402 402
403 return 0; 403 return 0;
404} 404}
diff --git a/sound/soc/au1x/psc.h b/sound/soc/au1x/psc.h
index b16b2e02e0c9..74dffeb641fa 100644
--- a/sound/soc/au1x/psc.h
+++ b/sound/soc/au1x/psc.h
@@ -27,16 +27,16 @@ struct au1xpsc_audio_data {
27}; 27};
28 28
29/* easy access macros */ 29/* easy access macros */
30#define PSC_CTRL(x) ((unsigned long)((x)->mmio) + PSC_CTRL_OFFSET) 30#define PSC_CTRL(x) ((x)->mmio + PSC_CTRL_OFFSET)
31#define PSC_SEL(x) ((unsigned long)((x)->mmio) + PSC_SEL_OFFSET) 31#define PSC_SEL(x) ((x)->mmio + PSC_SEL_OFFSET)
32#define I2S_STAT(x) ((unsigned long)((x)->mmio) + PSC_I2SSTAT_OFFSET) 32#define I2S_STAT(x) ((x)->mmio + PSC_I2SSTAT_OFFSET)
33#define I2S_CFG(x) ((unsigned long)((x)->mmio) + PSC_I2SCFG_OFFSET) 33#define I2S_CFG(x) ((x)->mmio + PSC_I2SCFG_OFFSET)
34#define I2S_PCR(x) ((unsigned long)((x)->mmio) + PSC_I2SPCR_OFFSET) 34#define I2S_PCR(x) ((x)->mmio + PSC_I2SPCR_OFFSET)
35#define AC97_CFG(x) ((unsigned long)((x)->mmio) + PSC_AC97CFG_OFFSET) 35#define AC97_CFG(x) ((x)->mmio + PSC_AC97CFG_OFFSET)
36#define AC97_CDC(x) ((unsigned long)((x)->mmio) + PSC_AC97CDC_OFFSET) 36#define AC97_CDC(x) ((x)->mmio + PSC_AC97CDC_OFFSET)
37#define AC97_EVNT(x) ((unsigned long)((x)->mmio) + PSC_AC97EVNT_OFFSET) 37#define AC97_EVNT(x) ((x)->mmio + PSC_AC97EVNT_OFFSET)
38#define AC97_PCR(x) ((unsigned long)((x)->mmio) + PSC_AC97PCR_OFFSET) 38#define AC97_PCR(x) ((x)->mmio + PSC_AC97PCR_OFFSET)
39#define AC97_RST(x) ((unsigned long)((x)->mmio) + PSC_AC97RST_OFFSET) 39#define AC97_RST(x) ((x)->mmio + PSC_AC97RST_OFFSET)
40#define AC97_STAT(x) ((unsigned long)((x)->mmio) + PSC_AC97STAT_OFFSET) 40#define AC97_STAT(x) ((x)->mmio + PSC_AC97STAT_OFFSET)
41 41
42#endif 42#endif
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index 4dfab9573a95..2c71f16bd661 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -107,7 +107,7 @@ static int arizona_spk_ev(struct snd_soc_dapm_widget *w,
107 break; 107 break;
108 case SND_SOC_DAPM_POST_PMU: 108 case SND_SOC_DAPM_POST_PMU:
109 val = snd_soc_read(codec, ARIZONA_INTERRUPT_RAW_STATUS_3); 109 val = snd_soc_read(codec, ARIZONA_INTERRUPT_RAW_STATUS_3);
110 if (val & ARIZONA_SPK_SHUTDOWN_STS) { 110 if (val & ARIZONA_SPK_OVERHEAT_STS) {
111 dev_crit(arizona->dev, 111 dev_crit(arizona->dev,
112 "Speaker not enabled due to temperature\n"); 112 "Speaker not enabled due to temperature\n");
113 return -EBUSY; 113 return -EBUSY;
@@ -159,7 +159,7 @@ static irqreturn_t arizona_thermal_warn(int irq, void *data)
159 if (ret != 0) { 159 if (ret != 0) {
160 dev_err(arizona->dev, "Failed to read thermal status: %d\n", 160 dev_err(arizona->dev, "Failed to read thermal status: %d\n",
161 ret); 161 ret);
162 } else if (val & ARIZONA_SPK_SHUTDOWN_WARN_STS) { 162 } else if (val & ARIZONA_SPK_OVERHEAT_WARN_STS) {
163 dev_crit(arizona->dev, "Thermal warning\n"); 163 dev_crit(arizona->dev, "Thermal warning\n");
164 } 164 }
165 165
@@ -177,7 +177,7 @@ static irqreturn_t arizona_thermal_shutdown(int irq, void *data)
177 if (ret != 0) { 177 if (ret != 0) {
178 dev_err(arizona->dev, "Failed to read thermal status: %d\n", 178 dev_err(arizona->dev, "Failed to read thermal status: %d\n",
179 ret); 179 ret);
180 } else if (val & ARIZONA_SPK_SHUTDOWN_STS) { 180 } else if (val & ARIZONA_SPK_OVERHEAT_STS) {
181 dev_crit(arizona->dev, "Thermal shutdown\n"); 181 dev_crit(arizona->dev, "Thermal shutdown\n");
182 ret = regmap_update_bits(arizona->regmap, 182 ret = regmap_update_bits(arizona->regmap,
183 ARIZONA_OUTPUT_ENABLES_1, 183 ARIZONA_OUTPUT_ENABLES_1,
@@ -223,7 +223,7 @@ int arizona_init_spk(struct snd_soc_codec *codec)
223 break; 223 break;
224 } 224 }
225 225
226 ret = arizona_request_irq(arizona, ARIZONA_IRQ_SPK_SHUTDOWN_WARN, 226 ret = arizona_request_irq(arizona, ARIZONA_IRQ_SPK_OVERHEAT_WARN,
227 "Thermal warning", arizona_thermal_warn, 227 "Thermal warning", arizona_thermal_warn,
228 arizona); 228 arizona);
229 if (ret != 0) 229 if (ret != 0)
@@ -231,7 +231,7 @@ int arizona_init_spk(struct snd_soc_codec *codec)
231 "Failed to get thermal warning IRQ: %d\n", 231 "Failed to get thermal warning IRQ: %d\n",
232 ret); 232 ret);
233 233
234 ret = arizona_request_irq(arizona, ARIZONA_IRQ_SPK_SHUTDOWN, 234 ret = arizona_request_irq(arizona, ARIZONA_IRQ_SPK_OVERHEAT,
235 "Thermal shutdown", arizona_thermal_shutdown, 235 "Thermal shutdown", arizona_thermal_shutdown,
236 arizona); 236 arizona);
237 if (ret != 0) 237 if (ret != 0)
diff --git a/sound/soc/codecs/cs4265.c b/sound/soc/codecs/cs4265.c
index a20b30ca52c0..98523209f739 100644
--- a/sound/soc/codecs/cs4265.c
+++ b/sound/soc/codecs/cs4265.c
@@ -282,10 +282,10 @@ static const struct cs4265_clk_para clk_map_table[] = {
282 282
283 /*64k*/ 283 /*64k*/
284 {8192000, 64000, 1, 0}, 284 {8192000, 64000, 1, 0},
285 {1228800, 64000, 1, 1}, 285 {12288000, 64000, 1, 1},
286 {1693440, 64000, 1, 2}, 286 {16934400, 64000, 1, 2},
287 {2457600, 64000, 1, 3}, 287 {24576000, 64000, 1, 3},
288 {3276800, 64000, 1, 4}, 288 {32768000, 64000, 1, 4},
289 289
290 /* 88.2k */ 290 /* 88.2k */
291 {11289600, 88200, 1, 0}, 291 {11289600, 88200, 1, 0},
@@ -435,10 +435,10 @@ static int cs4265_pcm_hw_params(struct snd_pcm_substream *substream,
435 index = cs4265_get_clk_index(cs4265->sysclk, params_rate(params)); 435 index = cs4265_get_clk_index(cs4265->sysclk, params_rate(params));
436 if (index >= 0) { 436 if (index >= 0) {
437 snd_soc_update_bits(codec, CS4265_ADC_CTL, 437 snd_soc_update_bits(codec, CS4265_ADC_CTL,
438 CS4265_ADC_FM, clk_map_table[index].fm_mode); 438 CS4265_ADC_FM, clk_map_table[index].fm_mode << 6);
439 snd_soc_update_bits(codec, CS4265_MCLK_FREQ, 439 snd_soc_update_bits(codec, CS4265_MCLK_FREQ,
440 CS4265_MCLK_FREQ_MASK, 440 CS4265_MCLK_FREQ_MASK,
441 clk_map_table[index].mclkdiv); 441 clk_map_table[index].mclkdiv << 4);
442 442
443 } else { 443 } else {
444 dev_err(codec->dev, "can't get correct mclk\n"); 444 dev_err(codec->dev, "can't get correct mclk\n");
diff --git a/sound/soc/codecs/da732x.h b/sound/soc/codecs/da732x.h
index 1dceafeec415..f586cbd30b77 100644
--- a/sound/soc/codecs/da732x.h
+++ b/sound/soc/codecs/da732x.h
@@ -11,7 +11,7 @@
11 */ 11 */
12 12
13#ifndef __DA732X_H_ 13#ifndef __DA732X_H_
14#define __DA732X_H 14#define __DA732X_H_
15 15
16#include <sound/soc.h> 16#include <sound/soc.h>
17 17
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
index 6bc6efdec550..f1ec6e6bd08a 100644
--- a/sound/soc/codecs/rt5640.c
+++ b/sound/soc/codecs/rt5640.c
@@ -2059,6 +2059,7 @@ static struct snd_soc_codec_driver soc_codec_dev_rt5640 = {
2059static const struct regmap_config rt5640_regmap = { 2059static const struct regmap_config rt5640_regmap = {
2060 .reg_bits = 8, 2060 .reg_bits = 8,
2061 .val_bits = 16, 2061 .val_bits = 16,
2062 .use_single_rw = true,
2062 2063
2063 .max_register = RT5640_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5640_ranges) * 2064 .max_register = RT5640_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5640_ranges) *
2064 RT5640_PR_SPACING), 2065 RT5640_PR_SPACING),
diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c
index 67f14556462f..5337c448b5e3 100644
--- a/sound/soc/codecs/rt5677.c
+++ b/sound/soc/codecs/rt5677.c
@@ -2135,10 +2135,10 @@ static const struct snd_soc_dapm_route rt5677_dapm_routes[] = {
2135 { "BST2", NULL, "IN2P" }, 2135 { "BST2", NULL, "IN2P" },
2136 { "BST2", NULL, "IN2N" }, 2136 { "BST2", NULL, "IN2N" },
2137 2137
2138 { "IN1P", NULL, "micbias1" }, 2138 { "IN1P", NULL, "MICBIAS1" },
2139 { "IN1N", NULL, "micbias1" }, 2139 { "IN1N", NULL, "MICBIAS1" },
2140 { "IN2P", NULL, "micbias1" }, 2140 { "IN2P", NULL, "MICBIAS1" },
2141 { "IN2N", NULL, "micbias1" }, 2141 { "IN2N", NULL, "MICBIAS1" },
2142 2142
2143 { "ADC 1", NULL, "BST1" }, 2143 { "ADC 1", NULL, "BST1" },
2144 { "ADC 1", NULL, "ADC 1 power" }, 2144 { "ADC 1", NULL, "ADC 1 power" },
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
index 159e517fa09a..cef7776b712c 100644
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -481,12 +481,19 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
481 snd_soc_card_set_drvdata(&priv->snd_card, priv); 481 snd_soc_card_set_drvdata(&priv->snd_card, priv);
482 482
483 ret = devm_snd_soc_register_card(&pdev->dev, &priv->snd_card); 483 ret = devm_snd_soc_register_card(&pdev->dev, &priv->snd_card);
484 if (ret >= 0)
485 return ret;
484 486
485err: 487err:
486 asoc_simple_card_unref(pdev); 488 asoc_simple_card_unref(pdev);
487 return ret; 489 return ret;
488} 490}
489 491
492static int asoc_simple_card_remove(struct platform_device *pdev)
493{
494 return asoc_simple_card_unref(pdev);
495}
496
490static const struct of_device_id asoc_simple_of_match[] = { 497static const struct of_device_id asoc_simple_of_match[] = {
491 { .compatible = "simple-audio-card", }, 498 { .compatible = "simple-audio-card", },
492 {}, 499 {},
@@ -500,6 +507,7 @@ static struct platform_driver asoc_simple_card = {
500 .of_match_table = asoc_simple_of_match, 507 .of_match_table = asoc_simple_of_match,
501 }, 508 },
502 .probe = asoc_simple_card_probe, 509 .probe = asoc_simple_card_probe,
510 .remove = asoc_simple_card_remove,
503}; 511};
504 512
505module_platform_driver(asoc_simple_card); 513module_platform_driver(asoc_simple_card);
diff --git a/sound/soc/omap/omap-twl4030.c b/sound/soc/omap/omap-twl4030.c
index f8a6adc2d81c..4336d1831485 100644
--- a/sound/soc/omap/omap-twl4030.c
+++ b/sound/soc/omap/omap-twl4030.c
@@ -260,7 +260,7 @@ static struct snd_soc_dai_link omap_twl4030_dai_links[] = {
260 .stream_name = "TWL4030 Voice", 260 .stream_name = "TWL4030 Voice",
261 .cpu_dai_name = "omap-mcbsp.3", 261 .cpu_dai_name = "omap-mcbsp.3",
262 .codec_dai_name = "twl4030-voice", 262 .codec_dai_name = "twl4030-voice",
263 .platform_name = "omap-mcbsp.2", 263 .platform_name = "omap-mcbsp.3",
264 .codec_name = "twl4030-codec", 264 .codec_name = "twl4030-codec",
265 .dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF | 265 .dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
266 SND_SOC_DAIFMT_CBM_CFM, 266 SND_SOC_DAIFMT_CBM_CFM,
diff --git a/sound/soc/samsung/goni_wm8994.c b/sound/soc/samsung/goni_wm8994.c
index 9506d7617223..3b527dcfc0aa 100644
--- a/sound/soc/samsung/goni_wm8994.c
+++ b/sound/soc/samsung/goni_wm8994.c
@@ -16,7 +16,7 @@
16#include <sound/jack.h> 16#include <sound/jack.h>
17 17
18#include <asm/mach-types.h> 18#include <asm/mach-types.h>
19#include <mach/gpio.h> 19#include <mach/gpio-samsung.h>
20 20
21#include "../codecs/wm8994.h" 21#include "../codecs/wm8994.h"
22 22
diff --git a/sound/soc/sh/rcar/gen.c b/sound/soc/sh/rcar/gen.c
index 3fdf3be7b99a..f95e7ab135e8 100644
--- a/sound/soc/sh/rcar/gen.c
+++ b/sound/soc/sh/rcar/gen.c
@@ -247,7 +247,7 @@ rsnd_gen2_dma_addr(struct rsnd_priv *priv,
247 }; 247 };
248 248
249 /* it shouldn't happen */ 249 /* it shouldn't happen */
250 if (use_dvc & !use_src) 250 if (use_dvc && !use_src)
251 dev_err(dev, "DVC is selected without SRC\n"); 251 dev_err(dev, "DVC is selected without SRC\n");
252 252
253 /* use SSIU or SSI ? */ 253 /* use SSIU or SSI ? */
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index d4bfd4a9076f..889f4e3d35dc 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1325,7 +1325,7 @@ static int soc_post_component_init(struct snd_soc_pcm_runtime *rtd,
1325 device_initialize(rtd->dev); 1325 device_initialize(rtd->dev);
1326 rtd->dev->parent = rtd->card->dev; 1326 rtd->dev->parent = rtd->card->dev;
1327 rtd->dev->release = rtd_release; 1327 rtd->dev->release = rtd_release;
1328 rtd->dev->init_name = name; 1328 dev_set_name(rtd->dev, "%s", name);
1329 dev_set_drvdata(rtd->dev, rtd); 1329 dev_set_drvdata(rtd->dev, rtd);
1330 mutex_init(&rtd->pcm_mutex); 1330 mutex_init(&rtd->pcm_mutex);
1331 INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_PLAYBACK].be_clients); 1331 INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_PLAYBACK].be_clients);
diff --git a/sound/soc/tegra/tegra_asoc_utils.h b/sound/soc/tegra/tegra_asoc_utils.h
index 9577121ce971..ca8037634100 100644
--- a/sound/soc/tegra/tegra_asoc_utils.h
+++ b/sound/soc/tegra/tegra_asoc_utils.h
@@ -21,7 +21,7 @@
21 */ 21 */
22 22
23#ifndef __TEGRA_ASOC_UTILS_H__ 23#ifndef __TEGRA_ASOC_UTILS_H__
24#define __TEGRA_ASOC_UTILS_H_ 24#define __TEGRA_ASOC_UTILS_H__
25 25
26struct clk; 26struct clk;
27struct device; 27struct device;