• Sebastian Andrzej Siewior's avatar
    auxdisplay: Remove in_interrupt() usage. · 701454bc
    Sebastian Andrzej Siewior authored
    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.deSigned-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    [mo: fixed a couple typos in comment and commit message]
    Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
    701454bc
charlcd.c 15.1 KB