]> git.baikalelectronics.ru Git - kernel.git/commit
gpio: pl061: make use of raw_spinlock variants
authorJulia Cartwright <julia@ni.com>
Thu, 9 Mar 2017 16:21:56 +0000 (10:21 -0600)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 16 Mar 2017 20:52:09 +0000 (21:52 +0100)
commit79b4cbe0a389891f6efa1b417c05253017ce1ad8
treed2c4510f7c993aa6c59bb366860f3bcb67ed37e1
parent01c7590e2e6e19efcd94c1515c6cad35cd6c8685
gpio: pl061: make use of raw_spinlock variants

The pl061 gpio driver currently implements an irq_chip for handling
interrupts; due to how irq_chip handling is done, it's necessary for the
irq_chip methods to be invoked from hardirq context, even on a a
real-time kernel.  Because the spinlock_t type becomes a "sleeping"
spinlock w/ RT kernels, it is not suitable to be used with irq_chips.

A quick audit of the operations under the lock reveal that they do only
minimal, bounded work, and are therefore safe to do under a raw spinlock.

Signed-off-by: Julia Cartwright <julia@ni.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-pl061.c