diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-02-22 18:36:53 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-26 15:45:25 +0000 |
commit | f607e31ce3963327f749b56c65dfec2642aa623c (patch) | |
tree | 162bbbdde8a4b108dd9399f244da51c207bdebd6 /include | |
parent | 03409071ce2751ca124f35edebe4bcad52de22c2 (diff) | |
download | linux-f607e31ce3963327f749b56c65dfec2642aa623c.tar.gz linux-f607e31ce3963327f749b56c65dfec2642aa623c.tar.bz2 linux-f607e31ce3963327f749b56c65dfec2642aa623c.zip |
ASoC: arizona: Fix interaction between headphone outputs and identification
Running HPDET while the headphone outputs are enabled can disrupt the
operation of HPDET. In order to avoid this HPDET needs to disable the
headphone outputs and ASoC needs to not enable them while HPDET is
running.
Do the ASoC side of this by storing the enable state in the core driver
structure and only writing to the device if a flag indicating that the
accessory detection side is in a state where it can have the headphone
output stage enabled.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mfd/arizona/core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/mfd/arizona/core.h b/include/linux/mfd/arizona/core.h index a710255528d7..cc281368dc55 100644 --- a/include/linux/mfd/arizona/core.h +++ b/include/linux/mfd/arizona/core.h @@ -100,6 +100,9 @@ struct arizona { struct regmap_irq_chip_data *aod_irq_chip; struct regmap_irq_chip_data *irq_chip; + bool hpdet_magic; + unsigned int hp_ena; + struct mutex clk_lock; int clk32k_ref; |