mirror of
https://github.com/torvalds/linux
synced 2024-09-20 11:07:02 +00:00
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>
This commit is contained in:
parent
5afe5bfe24
commit
9bb684442c
|
@ -810,7 +810,6 @@ static int wm0010_probe(struct snd_soc_codec *codec)
|
||||||
|
|
||||||
static int __devinit wm0010_spi_probe(struct spi_device *spi)
|
static int __devinit wm0010_spi_probe(struct spi_device *spi)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
|
||||||
unsigned long gpio_flags;
|
unsigned long gpio_flags;
|
||||||
int ret;
|
int ret;
|
||||||
int trigger;
|
int trigger;
|
||||||
|
@ -877,6 +876,8 @@ static int __devinit wm0010_spi_probe(struct spi_device *spi)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wm0010->state = WM0010_POWER_OFF;
|
||||||
|
|
||||||
irq = spi->irq;
|
irq = spi->irq;
|
||||||
if (wm0010->pdata.irq_flags)
|
if (wm0010->pdata.irq_flags)
|
||||||
trigger = wm0010->pdata.irq_flags;
|
trigger = wm0010->pdata.irq_flags;
|
||||||
|
@ -898,10 +899,6 @@ static int __devinit wm0010_spi_probe(struct spi_device *spi)
|
||||||
else
|
else
|
||||||
wm0010->board_max_spi_speed = 0;
|
wm0010->board_max_spi_speed = 0;
|
||||||
|
|
||||||
spin_lock_irqsave(&wm0010->irq_lock, flags);
|
|
||||||
wm0010->state = WM0010_POWER_OFF;
|
|
||||||
spin_unlock_irqrestore(&wm0010->irq_lock, flags);
|
|
||||||
|
|
||||||
ret = snd_soc_register_codec(&spi->dev,
|
ret = snd_soc_register_codec(&spi->dev,
|
||||||
&soc_codec_dev_wm0010, wm0010_dai,
|
&soc_codec_dev_wm0010, wm0010_dai,
|
||||||
ARRAY_SIZE(wm0010_dai));
|
ARRAY_SIZE(wm0010_dai));
|
||||||
|
|
Loading…
Reference in a new issue