mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 23:45:31 +08:00
b2e05d63c2
The Intel Lynxpoint pinctrl driver implements irqchip callbacks which are called with desc->lock raw_spinlock held. In mainline this is fine because spinlock resolves to raw_spinlock. However, running the same code in -rt we will get a BUG() asserted. This is because in -rt spinlocks are preemptible so taking the driver private spinlock in irqchip callbacks causes might_sleep() to trigger. In order to keep -rt happy but at the same time make sure that register accesses get serialized, convert the driver to use raw_spinlock instead. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
pinctrl-baytrail.c | ||
pinctrl-broxton.c | ||
pinctrl-cannonlake.c | ||
pinctrl-cedarfork.c | ||
pinctrl-cherryview.c | ||
pinctrl-denverton.c | ||
pinctrl-geminilake.c | ||
pinctrl-icelake.c | ||
pinctrl-intel.c | ||
pinctrl-intel.h | ||
pinctrl-lewisburg.c | ||
pinctrl-lynxpoint.c | ||
pinctrl-merrifield.c | ||
pinctrl-sunrisepoint.c | ||
pinctrl-tigerlake.c |