gpio: aspeed-sgpio: Convert aspeed_sgpio.lock to raw_spinlock
authorIwona Winiarska <iwona.winiarska@intel.com>
Sat, 4 Dec 2021 17:10:27 +0000 (18:10 +0100)
committerBartosz Golaszewski <brgl@bgdev.pl>
Fri, 10 Dec 2021 15:14:51 +0000 (16:14 +0100)
commitab39d6988dd53f354130438d8afa5596a2440fed
treedb676a4070a4fe3cdb9de8fff341c6a41a4c80bd
parent61a7904b6ace99b1bde0d0e867fa3097f5c8cee2
gpio: aspeed-sgpio: Convert aspeed_sgpio.lock to raw_spinlock

The gpio-aspeed-sgpio driver implements an irq_chip which need to be
invoked from hardirq context. Since spin_lock() can sleep with
PREEMPT_RT, it is no longer legal to invoke it while interrupts are
disabled.
This also causes lockdep to complain about:
[   25.919465] [ BUG: Invalid wait context ]
because aspeed_sgpio.lock (spin_lock_t) is taken under irq_desc.lock
(raw_spinlock_t).
Let's use of raw_spinlock_t instead of spinlock_t.

Signed-off-by: Iwona Winiarska <iwona.winiarska@intel.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpio-aspeed-sgpio.c