aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-09-25 14:04:25 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-09-26 08:54:00 -0400
commit9bb684442cf48c0e0736f5902f112c4f39ee3677 (patch)
treecab808d9a391836a7e2f987e10f4ce9b93f84a0f /sound
parent5afe5bfe243d649aa5118c74317cbcbe85a04cb9 (diff)
ASoC: wm0010: Initialise chip state before we register the interrupt
The interrupt handler uses the chip state. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm0010.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm0010.c b/sound/soc/codecs/wm0010.c
index 780110a15c97..99afc003a084 100644
--- a/sound/soc/codecs/wm0010.c
+++ b/sound/soc/codecs/wm0010.c
@@ -810,7 +810,6 @@ static int wm0010_probe(struct snd_soc_codec *codec)
810 810
811static int __devinit wm0010_spi_probe(struct spi_device *spi) 811static int __devinit wm0010_spi_probe(struct spi_device *spi)
812{ 812{
813 unsigned long flags;
814 unsigned long gpio_flags; 813 unsigned long gpio_flags;
815 int ret; 814 int ret;
816 int trigger; 815 int trigger;
@@ -877,6 +876,8 @@ static int __devinit wm0010_spi_probe(struct spi_device *spi)
877 return -EINVAL; 876 return -EINVAL;
878 } 877 }
879 878
879 wm0010->state = WM0010_POWER_OFF;
880
880 irq = spi->irq; 881 irq = spi->irq;
881 if (wm0010->pdata.irq_flags) 882 if (wm0010->pdata.irq_flags)
882 trigger = wm0010->pdata.irq_flags; 883 trigger = wm0010->pdata.irq_flags;
@@ -898,10 +899,6 @@ static int __devinit wm0010_spi_probe(struct spi_device *spi)
898 else 899 else
899 wm0010->board_max_spi_speed = 0; 900 wm0010->board_max_spi_speed = 0;
900 901
901 spin_lock_irqsave(&wm0010->irq_lock, flags);
902 wm0010->state = WM0010_POWER_OFF;
903 spin_unlock_irqrestore(&wm0010->irq_lock, flags);
904
905 ret = snd_soc_register_codec(&spi->dev, 902 ret = snd_soc_register_codec(&spi->dev,
906 &soc_codec_dev_wm0010, wm0010_dai, 903 &soc_codec_dev_wm0010, wm0010_dai,
907 ARRAY_SIZE(wm0010_dai)); 904 ARRAY_SIZE(wm0010_dai));