summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisael Lopez Cruz <misael.lopez@ti.com>2010-12-11 04:06:24 +0100
committerLiam Girdwood <lrg@slimlogic.co.uk>2010-12-14 21:36:59 +0100
commit4f44ee1f494edef1fea3db20565b2e209bef6280 (patch)
tree3eab00c19262d6c2ddfea2dbdf1c91577f379feb
parentASoC: twl6040: Clear interrupt status at boot time (diff)
downloadlinux-4f44ee1f494edef1fea3db20565b2e209bef6280.tar.xz
linux-4f44ee1f494edef1fea3db20565b2e209bef6280.zip
ASoC: twl6040: Enable plug detection interrupts
Enable plug detection interrupt mask in order to get headset PLUGINT/UNPLUGINT interrupts. Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
-rw-r--r--sound/soc/codecs/twl6040.c10
-rw-r--r--sound/soc/codecs/twl6040.h1
2 files changed, 4 insertions, 7 deletions
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index f5d5f89a2216..a8ec9113cc33 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -1108,7 +1108,7 @@ static int twl6040_probe(struct snd_soc_codec *codec)
struct twl6040_data *priv;
int audpwron, naudint;
int ret = 0;
- u8 icrev;
+ u8 icrev, intmr = TWL6040_ALLINT_MSK;
priv = kzalloc(sizeof(struct twl6040_data), GFP_KERNEL);
if (priv == NULL)
@@ -1154,16 +1154,12 @@ static int twl6040_probe(struct snd_soc_codec *codec)
priv->codec_powered = 0;
/* enable only codec ready interrupt */
- twl6040_write(codec, TWL6040_REG_INTMR,
- ~TWL6040_READYMSK & TWL6040_ALLINT_MSK);
+ intmr &= ~(TWL6040_READYMSK | TWL6040_PLUGMSK);
/* reset interrupt status to allow correct power up sequence */
twl6040_read_reg_volatile(codec, TWL6040_REG_INTID);
- } else {
- /* no interrupts at all */
- twl6040_write_reg_cache(codec, TWL6040_REG_INTMR,
- TWL6040_ALLINT_MSK);
}
+ twl6040_write(codec, TWL6040_REG_INTMR, intmr);
if (naudint) {
/* audio interrupt */
diff --git a/sound/soc/codecs/twl6040.h b/sound/soc/codecs/twl6040.h
index 67396f63c1ec..23aeed0963e6 100644
--- a/sound/soc/codecs/twl6040.h
+++ b/sound/soc/codecs/twl6040.h
@@ -79,6 +79,7 @@
/* INTMR (0x04) fields */
+#define TWL6040_PLUGMSK 0x02
#define TWL6040_READYMSK 0x40
#define TWL6040_ALLINT_MSK 0x7B