ASoC: twl6040: No need to read the INTID register
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 23 Sep 2011 06:52:02 +0000 (09:52 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 23 Sep 2011 10:54:24 +0000 (11:54 +0100)
Since our irq handler has been called, it is granted, that
the reason was either PLUGINT, or UNPLUGINT.
The INTID register has been checked in the MFD part of
twl6040 driver (twl6040-irq.c).
We have no reason to read from chip again here.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/twl6040.c

index 68e52c9..91b9818 100644 (file)
@@ -740,15 +740,10 @@ static void twl6040_accessory_work(struct work_struct *work)
 static irqreturn_t twl6040_audio_handler(int irq, void *data)
 {
        struct snd_soc_codec *codec = data;
-       struct twl6040 *twl6040 = codec->control_data;
        struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec);
-       u8 intid;
-
-       intid = twl6040_reg_read(twl6040, TWL6040_REG_INTID);
 
-       if ((intid & TWL6040_PLUGINT) || (intid & TWL6040_UNPLUGINT))
-               queue_delayed_work(priv->workqueue, &priv->delayed_work,
-                                                       msecs_to_jiffies(200));
+       queue_delayed_work(priv->workqueue, &priv->delayed_work,
+                          msecs_to_jiffies(200));
 
        return IRQ_HANDLED;
 }