On Fri, Feb 12, 2021 at 11:42 AM Song Bao Hua (Barry Song) song.bao.hua@hisilicon.com wrote:
Ok, second thought. irqsave before generic_handle_irq() won't defeat the purpose of preemption too much as the dispatched irq handlers by gpiochip will run in their own threads but not in the thread of gpiochip's handler.
so looks like this patch can improve by:
- move other raw_spin_lock_irqsave to raw_spin_lock;
- keep the raw_spin_lock_irqsave before generic_handle_irq() to mute
the warning in genirq.
It seems that the other drivers just call handle_nested_irq() instead of generic_handle_irq().
Arnd