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 68e52c9282a5cdc7778c7fff2a959bd61643e6f2..91b98186d072de830454647dbfd8acdb9afddf47 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;
 }