aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/baytrail/sst-baytrail-ipc.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2016-11-28 16:32:19 +0100
committerMark Brown <broonie@kernel.org>2016-11-30 17:41:13 +0000
commit786e1c37194e8e822eb72a0aed5fa850e07071a0 (patch)
tree0fa452a029786a67d2931126b3ea5c3d45e0061b /sound/soc/intel/baytrail/sst-baytrail-ipc.c
parentASoC: Intel: atom: Make some messages to debug level (diff)
downloadlinux-dev-786e1c37194e8e822eb72a0aed5fa850e07071a0.tar.xz
linux-dev-786e1c37194e8e822eb72a0aed5fa850e07071a0.zip
ASoC: intel: Replace kthread with work
The usage pattern of kthread worker in Intel SST drivers can be replaced gracefully with the normal workqueue, which is more light- weight and easier to manage in general. Let's do it. While in the replacement, move the schedule_work() call inside the spinlock for excluding the race, too. Signed-off-by: Takashi Iwai <tiwai@suse.de> Acked-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/baytrail/sst-baytrail-ipc.c')
-rw-r--r--sound/soc/intel/baytrail/sst-baytrail-ipc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sound/soc/intel/baytrail/sst-baytrail-ipc.c b/sound/soc/intel/baytrail/sst-baytrail-ipc.c
index 7ab14ce65a73..260447da32b8 100644
--- a/sound/soc/intel/baytrail/sst-baytrail-ipc.c
+++ b/sound/soc/intel/baytrail/sst-baytrail-ipc.c
@@ -23,7 +23,6 @@
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
-#include <linux/kthread.h>
#include <linux/firmware.h>
#include <linux/io.h>
#include <asm/div64.h>
@@ -338,7 +337,7 @@ static irqreturn_t sst_byt_irq_thread(int irq, void *context)
spin_unlock_irqrestore(&sst->spinlock, flags);
/* continue to send any remaining messages... */
- kthread_queue_work(&ipc->kworker, &ipc->kwork);
+ schedule_work(&ipc->kwork);
return IRQ_HANDLED;
}