charlcd_write() is invoked as a VFS->write() callback and as such it is always invoked from preemptible context and may sleep. charlcd_puts() is invoked from register/unregister callback which is preemptible. The reboot notifier callback is also invoked from preemptible context. Therefore there is no need to use in_interrupt() to figure out if it is safe to sleep because it always is. in_interrupt() and related context checks are being removed from non-core code. Using schedule() to schedule (and be friendly to others) is discouraged and cond_resched() should be used instead. Remove in_interrupt() and use cond_resched() to schedule every 32 iterations if needed. Link: https://lkml.kernel.org/r/20200914204209.256266093@linutronix.de Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> [mo: fixed a couple typos in comment and commit message] Signed-off-by: Miguel Ojeda <ojeda@kernel.org> |
||
|---|---|---|
| .. | ||
| arm-charlcd.c | ||
| cfag12864b.c | ||
| cfag12864bfb.c | ||
| charlcd.c | ||
| charlcd.h | ||
| hd44780_common.c | ||
| hd44780_common.h | ||
| hd44780.c | ||
| ht16k33.c | ||
| img-ascii-lcd.c | ||
| Kconfig | ||
| ks0108.c | ||
| lcd2s.c | ||
| Makefile | ||
| panel.c | ||