aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-07-18 17:43:19 -0400
committerMark Brown <broonie@linaro.org>2013-07-19 07:23:59 -0400
commita14d982962c1c3caee99ddeea632d97fc851ea60 (patch)
tree370bcaf850686d9c789266ed05bd19240a67fb0c
parentad81f0545ef01ea651886dddac4bef6cec930092 (diff)
ASoC: sta32x: 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>
-rw-r--r--sound/soc/codecs/sta32x.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/soc/codecs/sta32x.c b/sound/soc/codecs/sta32x.c
index cfb55fe35e98..06edb396e733 100644
--- a/sound/soc/codecs/sta32x.c
+++ b/sound/soc/codecs/sta32x.c
@@ -363,16 +363,18 @@ static void sta32x_watchdog(struct work_struct *work)
363 } 363 }
364 364
365 if (!sta32x->shutdown) 365 if (!sta32x->shutdown)
366 schedule_delayed_work(&sta32x->watchdog_work, 366 queue_delayed_work(system_power_efficient_wq,
367 round_jiffies_relative(HZ)); 367 &sta32x->watchdog_work,
368 round_jiffies_relative(HZ));
368} 369}
369 370
370static void sta32x_watchdog_start(struct sta32x_priv *sta32x) 371static void sta32x_watchdog_start(struct sta32x_priv *sta32x)
371{ 372{
372 if (sta32x->pdata->needs_esd_watchdog) { 373 if (sta32x->pdata->needs_esd_watchdog) {
373 sta32x->shutdown = 0; 374 sta32x->shutdown = 0;
374 schedule_delayed_work(&sta32x->watchdog_work, 375 queue_delayed_work(system_power_efficient_wq,
375 round_jiffies_relative(HZ)); 376 &sta32x->watchdog_work,
377 round_jiffies_relative(HZ));
376 } 378 }
377} 379}
378 380