ASoC: twl6040: Move the delayed_work for HS detection under twl6040_jack_data

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>
This commit is contained in:
Peter Ujfalusi 2011-09-26 16:26:27 +03:00 коммит произвёл Mark Brown
Родитель e71a5e5af6
Коммит 46dd0b93a0
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -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);