[PATCH 0/5] Make it easier to use nested locking for interrupt descriptors
From: Bart Van Assche
Date: Mon Feb 03 2025 - 13:03:48 EST
Hi Thomas,
The number of irq_set_lockdep_class() calls and IRQ_GC_INIT_NESTED_LOCK
occurrences in the kernel tree shows that nested locking is common for
interrupt descriptors. This patch series makes it easier to use nested
locking by removing the function irq_set_lockdep_class() and also the
IRQ_GC_INIT_NESTED_LOCK flag.
As one can tell from the diffstat, this patch series removes more code
than it adds.
Please consider this patch series for the next merge window.
Thanks,
Bart.
Bart Van Assche (5):
lockdep: Introduce lockdep_unregister_key_nosync()
irqdesc: Use dynamic lockdep keys for interrupt descriptors
irq: Remove irq_set_lockdep_class() and __irq_set_lockdep_class()
irq: Remove the IRQ_GC_INIT_NESTED_LOCK flag
irq: Simplify gpiochip_add_data()
arch/powerpc/sysdev/fsl_msi.c | 5 ---
drivers/base/regmap/regmap-irq.c | 4 ---
drivers/gpio/gpio-bcm-kona.c | 8 -----
drivers/gpio/gpio-brcmstb.c | 10 ------
drivers/gpio/gpio-mxc.c | 3 +-
drivers/gpio/gpio-mxs.c | 3 +-
drivers/gpio/gpiolib-devres.c | 12 +++----
drivers/gpio/gpiolib.c | 30 ++++-------------
drivers/gpu/drm/msm/msm_mdss.c | 3 --
drivers/irqchip/irq-imgpdc.c | 3 +-
drivers/irqchip/irq-renesas-intc-irqpin.c | 11 ------
drivers/irqchip/irq-renesas-irqc.c | 2 +-
drivers/mfd/arizona-irq.c | 5 ---
drivers/net/dsa/mv88e6xxx/chip.c | 8 -----
drivers/pinctrl/pinctrl-at91-pio4.c | 8 -----
drivers/pinctrl/pinctrl-single.c | 11 ------
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 9 -----
drivers/spmi/spmi-pmic-arb.c | 5 ---
drivers/thermal/qcom/lmh.c | 7 ----
include/linux/gpio/driver.h | 41 ++---------------------
include/linux/irq.h | 4 ---
include/linux/irqdesc.h | 14 +++-----
include/linux/lockdep.h | 5 +++
kernel/irq/generic-chip.c | 15 ---------
kernel/irq/irqdesc.c | 30 +++++------------
kernel/locking/lockdep.c | 22 ++++++++++--
26 files changed, 54 insertions(+), 224 deletions(-)