summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/max98090.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-07-18 22:43:00 +0100
committerMark Brown <broonie@linaro.org>2013-07-19 12:23:35 +0100
commit2df7c6aad63f432befe51ac3144a96b37fa5b4ba (patch)
tree333825e6dacf1fad9d7cbb50fa4f1bacfcc33823 /sound/soc/codecs/max98090.c
parentad81f0545ef01ea651886dddac4bef6cec930092 (diff)
downloadlinux-2df7c6aad63f432befe51ac3144a96b37fa5b4ba.tar.gz
linux-2df7c6aad63f432befe51ac3144a96b37fa5b4ba.tar.bz2
linux-2df7c6aad63f432befe51ac3144a96b37fa5b4ba.zip
ASoC: max98090: Use power efficient workqueue
None of the delayed work the driver schedules has particularly short delays and it is not performance sensitive so let the scheduler run it wherever is most efficient rather than in a per CPU workqueue by using the system power efficient workqueue. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'sound/soc/codecs/max98090.c')
-rw-r--r--sound/soc/codecs/max98090.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c
index ad5313f98f28..0569a4c3ae00 100644
--- a/sound/soc/codecs/max98090.c
+++ b/sound/soc/codecs/max98090.c
@@ -2084,8 +2084,9 @@ static irqreturn_t max98090_interrupt(int irq, void *data)
pm_wakeup_event(codec->dev, 100);
- schedule_delayed_work(&max98090->jack_work,
- msecs_to_jiffies(100));
+ queue_delayed_work(system_power_efficient_wq,
+ &max98090->jack_work,
+ msecs_to_jiffies(100));
}
if (active & M98090_DRCACT_MASK)
@@ -2132,8 +2133,9 @@ int max98090_mic_detect(struct snd_soc_codec *codec,
snd_soc_jack_report(max98090->jack, 0,
SND_JACK_HEADSET | SND_JACK_BTN_0);
- schedule_delayed_work(&max98090->jack_work,
- msecs_to_jiffies(100));
+ queue_delayed_work(system_power_efficient_wq,
+ &max98090->jack_work,
+ msecs_to_jiffies(100));
return 0;
}