The only generic interface to execute asynchronously in the BH context is
tasklet; however, it's marked deprecated and has some design flaws. To
replace tasklets, BH workqueue support was recently added. A BH workqueue
behaves similarly to regular workqueues except that the queued work items
are executed in the BH context.
This patch converts drivers/tty/* from tasklet to BH workqueue.
Based on the work done by Tejun Heo <tj@xxxxxxxxxx>
Branch: https://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-6.10
Signed-off-by: Allen Pais <allen.lkml@xxxxxxxxx>
---
drivers/tty/ipwireless/hardware.c | 15 +++---
drivers/tty/serial/atmel_serial.c | 79 ++++++++++++++++---------------
drivers/tty/serial/timbuart.c | 19 ++++----
drivers/tty/vt/keyboard.c | 34 ++++++-------