Another common abuse in irqchip drivers (and derivatives) is to place a string representing the underlying device in the irq_chip::name field that gets displayed in /proc/interrupts while this should only be an indication of the "type" of interrupt controller. Not only this is pretty pointless (with hierarchical domains, you only see the top chip), but it also gets in the way of making the irq_chip structure const. For debug, we have a whole infrastructure that does everything you can imagine (and stuff you don't want to). We can't remove this name as it is visible from userspace and there is a whole collection of CI scripts that parse /proc/interrupts for good (and mostly bad) reasons. The solution is to use the irq_print_chip() callback and to let it output whatever string is necessary. Having done that, we can cleanup a few irqchip drivers and make their irq_chip structure const (which requires touching a handful of core functions). Whilst we're at it, we do the same for a couple of gpio drivers. This series relies on the one posted at [1]. Thanks, M. [1] https://lore.kernel.org/r/20220201120310.878267-1-maz@xxxxxxxxxx Marc Zyngier (10): irqdomain: Let irq_domain_set_{info,hwirq_and_chip} take a const irq_chip genirq: Allow irq_chip registration functions to take a const irq_chip irqchip/gic: Switch to dynamic chip name output irqchip/lpc32xx: Switch to dynamic chip name output irqchip/mvebu-pic: Switch to dynamic chip name output irqchip/ts4800: Switch to dynamic chip name output irqchip/versatile-fpga: Switch to dynamic chip name output gpio: mt7621: Switch to dynamic chip name output gpio: omap: Switch to dynamic chip name output pinctrl: starfive: Switch to dynamic chip name output drivers/gpio/gpio-mt7621.c | 12 ++- drivers/gpio/gpio-omap.c | 28 ++++--- drivers/irqchip/irq-ftintc010.c | 1 - drivers/irqchip/irq-gic.c | 102 +++++++++++++------------ drivers/irqchip/irq-lpc32xx.c | 34 ++++++--- drivers/irqchip/irq-mvebu-pic.c | 28 ++++--- drivers/irqchip/irq-ts4800.c | 25 ++++-- drivers/irqchip/irq-versatile-fpga.c | 46 ++++++----- drivers/pinctrl/pinctrl-starfive.c | 11 ++- include/linux/irq.h | 7 +- include/linux/irqchip/versatile-fpga.h | 14 ---- include/linux/irqdomain.h | 5 +- kernel/irq/chip.c | 9 +-- kernel/irq/irqdomain.c | 7 +- 14 files changed, 189 insertions(+), 140 deletions(-) delete mode 100644 include/linux/irqchip/versatile-fpga.h -- 2.30.2