ASoC: twl6040: Move the delayed_work for HS detection under twl6040_jack_data
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Mon, 26 Sep 2011 13:26:27 +0000 (16:26 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 26 Sep 2011 21:24:18 +0000 (22:24 +0100)
The delayed_work named 'delayed_work' is for the headset detection,
so move it to the twl6040_jack_data struct.

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

index 7786520..7b543c0 100644 (file)
@@ -78,6 +78,7 @@ struct twl6040_output {
 
 struct twl6040_jack_data {
        struct snd_soc_jack *jack;
+       struct delayed_work work;
        int report;
 };
 
@@ -99,7 +100,6 @@ struct twl6040_data {
        struct twl6040_jack_data hs_jack;
        struct snd_soc_codec *codec;
        struct workqueue_struct *workqueue;
-       struct delayed_work delayed_work;
        struct mutex mutex;
        struct twl6040_output headset;
        struct twl6040_output handsfree;
@@ -734,7 +734,7 @@ EXPORT_SYMBOL_GPL(twl6040_hs_jack_detect);
 static void twl6040_accessory_work(struct work_struct *work)
 {
        struct twl6040_data *priv = container_of(work,
-                                       struct twl6040_data, delayed_work.work);
+                                       struct twl6040_data, hs_jack.work.work);
        struct snd_soc_codec *codec = priv->codec;
        struct twl6040_jack_data *hs_jack = &priv->hs_jack;
 
@@ -747,7 +747,7 @@ static irqreturn_t twl6040_audio_handler(int irq, void *data)
        struct snd_soc_codec *codec = data;
        struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec);
 
-       queue_delayed_work(priv->workqueue, &priv->delayed_work,
+       queue_delayed_work(priv->workqueue, &priv->hs_jack.work,
                           msecs_to_jiffies(200));
 
        return IRQ_HANDLED;
@@ -1534,7 +1534,7 @@ static int twl6040_probe(struct snd_soc_codec *codec)
                goto work_err;
        }
 
-       INIT_DELAYED_WORK(&priv->delayed_work, twl6040_accessory_work);
+       INIT_DELAYED_WORK(&priv->hs_jack.work, twl6040_accessory_work);
 
        mutex_init(&priv->mutex);