[PATCH v2 00/57] irqdomain: Cleanups and Documentation

Jiri Slaby (SUSE) jirislaby at kernel.org
Wed Mar 19 02:28:53 PDT 2025


Hi,

tl;dr if patches are agreed upon, I ask subsys maintainers to take the
respective ones via their trees (as they are split per subsys), so that
the IRQ tree can take only the rest. That would minimize churn/conflicts
during merges.

===

While I was reading through the irqdomain code and headers, I found some
naming and documentation hard to follow or incomplete. Especially the
naming of _add/_create/_instantiate functions.

I tried to come up with a better state with this patchset:
* only irq _domain_ (not host),
* only irq_domain_create*() functions, all taking fwnode uniformly,

Finally, all the irqdomain stuff is now plugged (and generated) into
Documentation. So that everyone can walk through it at
https://www.kernel.org/doc/ (once applied, of course).

Changelog
---------
[v2]
- 'extern' removal patch dropped (already merged into tip),
- some new patches added,
- only _create*() functions preserved, all _add*() are removed,
  as per <87wme3m4a9.ffs at tglx>.

Cc: Aaro Koskinen <aaro.koskinen at iki.fi>
Cc: Abhinav Kumar <quic_abhinavk at quicinc.com>
Cc: Albert Ou <aou at eecs.berkeley.edu>
Cc: Alexandre Belloni <alexandre.belloni at bootlin.com>
Cc: Alexandre Ghiti <alex at ghiti.fr>
Cc: Alexandre Torgue <alexandre.torgue at foss.st.com>
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Alex Shi <alexs at kernel.org>
Cc: Alim Akhtar <alim.akhtar at samsung.com>
Cc: "Alvin Šipraga" <alsi at bang-olufsen.dk>
Cc: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Cc: amd-gfx at lists.freedesktop.org
Cc: Amit Kucheria <amitk at kernel.org>
Cc: Anatolij Gustschin <agust at denx.de>
Cc: Andi Shyti <andi.shyti at kernel.org>
Cc: "Andreas Färber" <afaerber at suse.de>
Cc: Andreas Kemnade <andreas at kemnade.info>
Cc: Andrew Jeffery <andrew at codeconstruct.com.au>
Cc: Andrew Lunn <andrew at lunn.ch>
Cc: Andy Shevchenko <andy at kernel.org>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
Cc: Antoine Tenart <atenart at kernel.org>
Cc: Anton Ivanov <anton.ivanov at cambridgegreys.com>
Cc: Anup Patel <anup at brainfault.org>
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: asahi at lists.linux.dev
Cc: Bartosz Golaszewski <brgl at bgdev.pl>
Cc: Baruch Siach <baruch at tkos.co.il>
Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Cc: Bharat Kumar Gogada <bharat.kumar.gogada at amd.com>
Cc: Bjorn Andersson <andersson at kernel.org>
Cc: Bjorn Helgaas <bhelgaas at google.com>
Cc: Borislav Petkov <bp at alien8.de>
Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list at broadcom.com>
Cc: Claudiu Beznea <claudiu.beznea at tuxon.dev>
Cc: Corentin Chary <corentin.chary at gmail.com>
Cc: Daire McNamara <daire.mcnamara at microchip.com>
Cc: Daniel Golle <daniel at makrotopia.org>
Cc: Daniel Lezcano <daniel.lezcano at linaro.org>
Cc: Daniel Mack <daniel at zonque.org>
Cc: Daniel Palmer <daniel at thingy.jp>
Cc: Dave Hansen <dave.hansen at linux.intel.com>
Cc: David Airlie <airlied at gmail.com>
Cc: "David S. Miller" <davem at davemloft.net>
Cc: DENG Qingfang <dqfext at gmail.com>
Cc: Dinh Nguyen <dinguyen at kernel.org>
Cc: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Cc: Dongliang Mu <dzm91 at hust.edu.cn>
Cc: Doug Berger <opendmb at gmail.com>
Cc: dri-devel at lists.freedesktop.org
Cc: Eddie James <eajames at linux.ibm.com>
Cc: Eric Dumazet <edumazet at google.com>
Cc: Fabio Estevam <festevam at gmail.com>
Cc: Florian Fainelli <florian.fainelli at broadcom.com>
Cc: Geoff Levand <geoff at infradead.org>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: Gregory Clement <gregory.clement at bootlin.com>
Cc: Guo Ren <guoren at kernel.org>
Cc: Hans de Goede <hdegoede at redhat.com>
Cc: Haojian Zhuang <haojian.zhuang at gmail.com>
Cc: Haojian Zhuang <haojian.zhuang at linaro.org>
Cc: Heiko Stuebner <heiko at sntech.de>
Cc: Herve Codina <herve.codina at bootlin.com>
Cc: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
Cc: "H. Peter Anvin" <hpa at zytor.com>
Cc: Huacai Chen <chenhuacai at kernel.org>
Cc: Changhuang Liang <changhuang.liang at starfivetech.com>
Cc: Chen-Yu Tsai <wens at csie.org>
Cc: "Chester A. Unal" <chester.a.unal at arinc9.com>
Cc: "Christian König" <christian.koenig at amd.com>
Cc: Christophe Leroy <christophe.leroy at csgroup.eu>
Cc: Chris Zankel <chris at zankel.net>
Cc: "Ilpo Järvinen" <ilpo.jarvinen at linux.intel.com>
Cc: Imre Kaloz <kaloz at openwrt.org>
Cc: Ingo Molnar <mingo at redhat.com>
Cc: Jakub Kicinski <kuba at kernel.org>
Cc: James Morse <james.morse at arm.com>
Cc: Janne Grunau <j at jannau.net>
Cc: Janusz Krzysztofik <jmkrzyszt at gmail.com>
Cc: Jaroslav Kysela <perex at perex.cz>
Cc: Jassi Brar <jassisinghbrar at gmail.com>
Cc: Jernej Skrabec <jernej.skrabec at gmail.com>
Cc: Jerome Brunet <jbrunet at baylibre.com>
Cc: Jianjun Wang <jianjun.wang at mediatek.com>
Cc: Jiawen Wu <jiawenwu at trustnetic.com>
Cc: Jiaxun Yang <jiaxun.yang at flygoat.com>
Cc: Jim Quinlan <jim2101024 at gmail.com>
Cc: Jingoo Han <jingoohan1 at gmail.com>
Cc: Joel Stanley <joel at jms.id.au>
Cc: Johannes Berg <johannes at sipsolutions.net>
Cc: John Crispin <john at phrozen.org>
Cc: John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de>
Cc: Jonas Bonn <jonas at southpole.se>
Cc: Jonathan Cameron <jic23 at kernel.org>
Cc: Jonathan Corbet <corbet at lwn.net>
Cc: Jonathan Hunter <jonathanh at nvidia.com>
Cc: "Jonathan Neuschäfer" <j.neuschaefer at gmx.net>
Cc: Joyce Ooi <joyce.ooi at intel.com>
Cc: Karthikeyan Mitran <m.karthikeyan at mobiveil.co.in>
Cc: Keerthy <j-keerthy at ti.com>
Cc: Kevin Hilman <khilman at baylibre.com>
Cc: Konrad Dybcio <konradybcio at kernel.org>
Cc: Krzysztof Kozlowski <krzk at kernel.org>
Cc: "Krzysztof Wilczyński" <kw at linux.com>
Cc: Kunihiko Hayashi <hayashi.kunihiko at socionext.com>
Cc: Lakshmi Sowjanya D <lakshmi.sowjanya.d at intel.com>
Cc: Lars-Peter Clausen <lars at metafoo.de>
Cc: Lee Jones <lee at kernel.org>
Cc: Liam Girdwood <lgirdwood at gmail.com>
Cc: Linus Walleij <linus.walleij at linaro.org>
Cc: Linus Walleij <linusw at kernel.org>
Cc: linux-amlogic at lists.infradead.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-arm-msm at vger.kernel.org
Cc: linux-doc at vger.kernel.org
Cc: linux-edac at vger.kernel.org
Cc: linux-gpio at vger.kernel.org
Cc: linux-iio at vger.kernel.org
Cc: linux-i2c at vger.kernel.org
Cc: linux-mediatek at lists.infradead.org
Cc: linux-mips at vger.kernel.org
Cc: linux-omap at vger.kernel.org
Cc: linux-pci at vger.kernel.org
Cc: linuxppc-dev at lists.ozlabs.org
Cc: linux-remoteproc at vger.kernel.org
Cc: linux-riscv at lists.infradead.org
Cc: linux-rpi-kernel at lists.infradead.org
Cc: linux-sh at vger.kernel.org
Cc: linux-snps-arc at lists.infradead.org
Cc: linux-sound at vger.kernel.org
Cc: linux-stm32 at st-md-mailman.stormreply.com
Cc: linux-um at lists.infradead.org
Cc: linux-wireless at vger.kernel.org
Cc: loongarch at lists.linux.dev
Cc: Lorenzo Pieralisi <lpieralisi at kernel.org>
Cc: Ludovic Desroches <ludovic.desroches at microchip.com>
Cc: Lukasz Luba <lukasz.luba at arm.com>
Cc: "Luke D. Jones" <luke at ljones.dev>
Cc: Madhavan Srinivasan <maddy at linux.ibm.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org>
Cc: Marc Zyngier <maz at kernel.org>
Cc: "Marek Behún" <kabel at kernel.org>
Cc: Marijn Suijten <marijn.suijten at somainline.org>
Cc: Mark Brown <broonie at kernel.org>
Cc: Mark-PK Tsai <mark-pk.tsai at mediatek.com>
Cc: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Cc: Masami Hiramatsu <mhiramat at kernel.org>
Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
Cc: Matthias Brugger <matthias.bgg at gmail.com>
Cc: Mauro Carvalho Chehab <mchehab at kernel.org>
Cc: Max Filippov <jcmvbkbc at gmail.com>
Cc: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
Cc: Mengyuan Lou <mengyuanlou at net-swift.com>
Cc: Michael Buesch <m at bues.ch>
Cc: Michael Ellerman <mpe at ellerman.id.au>
Cc: Michal Simek <michal.simek at amd.com>
Cc: Miodrag Dinic <miodrag.dinic at mips.com>
Cc: Naveen N Rao <naveen at kernel.org>
Cc: Neil Armstrong <neil.armstrong at linaro.org>
Cc: netdev at vger.kernel.org
Cc: Nicolas Ferre <nicolas.ferre at microchip.com>
Cc: Nicolas Saenz Julienne <nsaenz at kernel.org>
Cc: Nicholas Piggin <npiggin at gmail.com>
Cc: Nikhil Agarwal <nikhil.agarwal at amd.com>
Cc: Nipun Gupta <nipun.gupta at amd.com>
Cc: Nishanth Menon <nm at ti.com>
Cc: "Pali Rohár" <pali at kernel.org>
Cc: Palmer Dabbelt <palmer at dabbelt.com>
Cc: Paolo Abeni <pabeni at redhat.com>
Cc: Paul Cercueil <paul at crapouillou.net>
Cc: Paul Walmsley <paul.walmsley at sifive.com>
Cc: Pengutronix Kernel Team <kernel at pengutronix.de>
Cc: Peter Rosin <peda at axentia.se>
Cc: Philipp Zabel <p.zabel at pengutronix.de>
Cc: Piotr Wojtaszczyk <piotr.wojtaszczyk at timesys.com>
Cc: platform-driver-x86 at vger.kernel.org
Cc: Prasad Kumpatla <quic_pkumpatl at quicinc.com>
Cc: Qiang Zhao <qiang.zhao at nxp.com>
Cc: Qin Jian <qinjian at cqplus1.com>
Cc: "Rafael J. Wysocki" <rafael at kernel.org>
Cc: Randy Dunlap <rdunlap at infradead.org>
Cc: Ray Jui <rjui at broadcom.com>
Cc: Rengarajan Sundararajan <Rengarajan.S at microchip.com>
Cc: Richard Cochran <richardcochran at gmail.com>
Cc: Richard Weinberger <richard at nod.at>
Cc: Rich Felker <dalias at libc.org>
Cc: Rob Clark <robdclark at gmail.com>
Cc: Robert Jarzmik <robert.jarzmik at free.fr>
Cc: Robert Richter <rric at kernel.org>
Cc: Rob Herring <robh at kernel.org>
Cc: Roger Quadros <rogerq at kernel.org>
Cc: Russell King <linux at armlinux.org.uk>
Cc: Ryan Chen <ryan_chen at aspeedtech.com>
Cc: Ryder Lee <ryder.lee at mediatek.com>
Cc: Samuel Holland <samuel at sholland.org>
Cc: Santosh Shilimkar <ssantosh at kernel.org>
Cc: Sascha Hauer <s.hauer at pengutronix.de>
Cc: Scott Branden <sbranden at broadcom.com>
Cc: Scott Wood <oss at buserror.net>
Cc: Sean Paul <sean at poorly.run>
Cc: Sean Wang <sean.wang at kernel.org>
Cc: Sean Wang <sean.wang at mediatek.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
Cc: Sergio Paracuellos <sergio.paracuellos at gmail.com>
Cc: Shawn Guo <shawnguo at kernel.org>
Cc: Shawn Lin <shawn.lin at rock-chips.com>
Cc: Siddharth Vadapalli <s-vadapalli at ti.com>
Cc: Simona Vetter <simona at ffwll.ch>
Cc: Stafford Horne <shorne at gmail.com>
Cc: Stefan Kristiansson <stefan.kristiansson at saunalahti.fi>
Cc: Stephen Boyd <sboyd at kernel.org>
Cc: Sven Peter <sven at svenpeter.dev>
Cc: Takashi Iwai <tiwai at suse.com>
Cc: Talel Shenhar <talel at amazon.com>
Cc: Tero Kristo <kristo at kernel.org>
Cc: Thangaraj Samynathan <Thangaraj.S at microchip.com>
Cc: Thara Gopinath <thara.gopinath at gmail.com>
Cc: Thierry Reding <thierry.reding at gmail.com>
Cc: Thomas Bogendoerfer <tsbogend at alpha.franken.de>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Cc: Toan Le <toan at os.amperecomputing.com>
Cc: Tony Lindgren <tony at atomide.com>
Cc: Tony Luck <tony.luck at intel.com>
Cc: UNGLinuxDriver at microchip.com
Cc: "Uwe Kleine-König" <ukleinek at kernel.org>
Cc: Vignesh Raghavendra <vigneshr at ti.com>
Cc: Vineet Gupta <vgupta at kernel.org>
Cc: Vladimir Oltean <olteanv at gmail.com>
Cc: Vladimir Zapolskiy <vz at mleia.com>
Cc: WANG Xuerui <kernel at xen0n.name>
Cc: Woojung Huh <woojung.huh at microchip.com>
Cc: x86 at kernel.org
Cc: Yanteng Si <si.yanteng at linux.dev>
Cc: Yoshinori Sato <ysato at users.sourceforge.jp>
Cc: Zhang Rui <rui.zhang at intel.com>

Jiri Slaby (SUSE) (57):
  irqdomain: um: use irq_domain_create_linear() helper
  irqdomain: Rename irq_set_default_host() to irq_set_default_domain()
  irqdomain: Rename irq_get_default_host() to irq_get_default_domain()
  irqdomain.h: Stop using 'host' for domain
  irqdomain: cdx: Switch to of_fwnode_handle()
  irqdomain: irqchip: Switch to of_fwnode_handle()
  irqdomain: pci: Switch to of_fwnode_handle()
  irqdomain: ppc: Switch to of_fwnode_handle()
  irqdomain: remoteproc: Switch to of_fwnode_handle()
  irqdomain: x86: Switch to of_fwnode_handle()
  irqdomain: Drop of_node_to_fwnode()
  irqdomain: Make irq_domain_create_hierarchy() an inline
  irqdomain: arc: Switch to irq_domain_create_linear()
  irqdomain: arm: Switch to irq_domain_create_*()
  irqdomain: bus: Switch to irq_domain_create_simple()
  irqdomain: edac: Switch to irq_domain_create_linear()
  irqdomain: gpio: Switch to irq_domain_create_*()
  irqdomain: gpu: Switch to irq_domain_create_linear()
  irqdomain: i2c: Switch to irq_domain_create_linear()
  irqdomain: iio: Switch to irq_domain_create_simple()
  irqdomain: irqchip: Switch to irq_domain_create_*()
  irqdomain: mailbox: Switch to irq_domain_create_tree()
  irqdomain: memory: Switch to irq_domain_create_linear()
  irqdomain: mfd: Switch to irq_domain_create_*()
  irqdomain: mips: Switch to irq_domain_create_*()
  irqdomain: misc: Switch to irq_domain_create_simple()
  irqdomain: net: Switch to irq_domain_create_*()
  irqdomain: nios2: Switch to irq_domain_create_linear()
  irqdomain: pci: Switch to irq_domain_create_linear()
  irqdomain: pinctrl: Switch to irq_domain_create_*()
  irqdomain: platform/x86: Switch to irq_domain_create_linear()
  irqdomain: ppc: Switch to irq_domain_create_*()
  irqdomain: sh: Switch to irq_domain_create_*()
  irqdomain: soc: Switch to irq_domain_create_*()
  irqdomain: sound: Switch to irq_domain_create_linear()
  irqdomain: spmi: Switch to irq_domain_create_tree()
  irqdomain: ssb: Switch to irq_domain_create_linear()
  irqdomain: thermal: Switch to irq_domain_create_linear()
  irqdomain: ppc: Switch irq_domain_add_nomap() to use fwnode
  irqdomain: Drop irq_domain_add_*() functions
  irqdomain: ppc: Switch to irq_find_mapping()
  irqdomain: sh: Switch to irq_find_mapping()
  irqdomain: gpio: Switch to irq_find_mapping()
  irqdomain: gpu: Switch to irq_find_mapping()
  irqdomain: i2c: Switch to irq_find_mapping()
  irqdomain: irqchip: Switch to irq_find_mapping()
  irqdomain: pinctrl: Switch to irq_find_mapping()
  irqdomain: soc: Switch to irq_find_mapping()
  irqdomain: Drop irq_linear_revmap()
  irqdomain: Use irq_domain_instantiate() retvals as initializers
  irqdomain: Make struct irq_domain_info variables const
  irqdomain.h: Improve kernel-docs of functions
  docs: irq/concepts: Add commas and reflow
  docs: irq/concepts: Minor improvements
  docs: irq-domain.rst: Simple improvements
  docs: irqdomain: Update
  irqdomain.c: Fix kernel-doc and add it to Documentation

 Documentation/core-api/genericirq.rst         |   2 -
 Documentation/core-api/irq/concepts.rst       |  27 +--
 Documentation/core-api/irq/irq-domain.rst     | 202 +++++++++--------
 .../zh_CN/core-api/irq/irq-domain.rst         |   8 +-
 arch/arc/kernel/intc-arcv2.c                  |   4 +-
 arch/arc/kernel/intc-compact.c                |   7 +-
 arch/arc/kernel/mcip.c                        |   3 +-
 arch/arm/common/sa1111.c                      |   6 +-
 arch/arm/mach-exynos/suspend.c                |   5 +-
 arch/arm/mach-imx/avic.c                      |   4 +-
 arch/arm/mach-imx/gpc.c                       |   5 +-
 arch/arm/mach-imx/tzic.c                      |   4 +-
 arch/arm/mach-omap1/irq.c                     |   3 +-
 arch/arm/mach-omap2/omap-wakeupgen.c          |   5 +-
 arch/arm/mach-pxa/irq.c                       |   7 +-
 arch/arm/plat-orion/gpio.c                    |  12 +-
 arch/mips/ath25/ar2315.c                      |   4 +-
 arch/mips/ath25/ar5312.c                      |   4 +-
 arch/mips/cavium-octeon/octeon-irq.c          |  31 +--
 arch/mips/lantiq/irq.c                        |   2 +-
 arch/mips/pci/pci-ar2315.c                    |   4 +-
 arch/mips/pci/pci-rt3883.c                    |   7 +-
 arch/mips/pci/pci-xtalk-bridge.c              |   2 +-
 arch/mips/ralink/irq.c                        |   2 +-
 arch/mips/sgi-ip27/ip27-irq.c                 |   2 +-
 arch/mips/sgi-ip30/ip30-irq.c                 |   2 +-
 arch/nios2/kernel/irq.c                       |   5 +-
 arch/powerpc/kvm/book3s_hv.c                  |   2 +-
 arch/powerpc/kvm/book3s_xive.c                |   2 +-
 arch/powerpc/platforms/44x/uic.c              |   9 +-
 .../powerpc/platforms/512x/mpc5121_ads_cpld.c |   3 +-
 arch/powerpc/platforms/52xx/media5200.c       |   2 +-
 arch/powerpc/platforms/52xx/mpc52xx_gpt.c     |   6 +-
 arch/powerpc/platforms/52xx/mpc52xx_pic.c     |   6 +-
 .../platforms/85xx/socrates_fpga_pic.c        |   4 +-
 arch/powerpc/platforms/8xx/cpm1-ic.c          |   5 +-
 arch/powerpc/platforms/8xx/pic.c              |   5 +-
 arch/powerpc/platforms/amigaone/setup.c       |   2 +-
 arch/powerpc/platforms/chrp/setup.c           |   2 +-
 .../platforms/embedded6xx/flipper-pic.c       |   9 +-
 arch/powerpc/platforms/embedded6xx/hlwd-pic.c |   7 +-
 arch/powerpc/platforms/pasemi/setup.c         |   2 +-
 arch/powerpc/platforms/powermac/pic.c         |   9 +-
 arch/powerpc/platforms/powermac/smp.c         |   2 +-
 arch/powerpc/platforms/powernv/opal-irqchip.c |   3 +-
 arch/powerpc/platforms/powernv/pci-ioda.c     |   4 +-
 arch/powerpc/platforms/ps3/interrupt.c        |   4 +-
 arch/powerpc/platforms/pseries/msi.c          |   4 +-
 arch/powerpc/sysdev/cpm2_pic.c                |   5 +-
 arch/powerpc/sysdev/ehv_pic.c                 |   9 +-
 arch/powerpc/sysdev/fsl_msi.c                 |   2 +-
 arch/powerpc/sysdev/ge/ge_pic.c               |   7 +-
 arch/powerpc/sysdev/i8259.c                   |   4 +-
 arch/powerpc/sysdev/ipic.c                    |   9 +-
 arch/powerpc/sysdev/mpic.c                    |  12 +-
 arch/powerpc/sysdev/tsi108_pci.c              |   4 +-
 arch/powerpc/sysdev/xics/xics-common.c        |   2 +-
 arch/powerpc/sysdev/xive/common.c             |   4 +-
 arch/sh/boards/mach-se/7343/irq.c             |   7 +-
 arch/sh/boards/mach-se/7722/irq.c             |   4 +-
 arch/sh/boards/mach-x3proto/gpio.c            |   2 +-
 arch/um/drivers/virt-pci.c                    |  15 +-
 arch/x86/kernel/apic/io_apic.c                |   2 +-
 arch/x86/kernel/apic/vector.c                 |   2 +-
 drivers/bus/moxtet.c                          |   6 +-
 drivers/cdx/cdx_msi.c                         |   4 +-
 drivers/edac/altera_edac.c                    |   4 +-
 drivers/gpio/gpio-brcmstb.c                   |   2 +-
 drivers/gpio/gpio-davinci.c                   |   5 +-
 drivers/gpio/gpio-em.c                        |   5 +-
 drivers/gpio/gpio-grgpio.c                    |   2 +-
 drivers/gpio/gpio-idt3243x.c                  |   2 +-
 drivers/gpio/gpio-lpc18xx.c                   |   8 +-
 drivers/gpio/gpio-mvebu.c                     |   2 +-
 drivers/gpio/gpio-mxc.c                       |   2 +-
 drivers/gpio/gpio-mxs.c                       |   4 +-
 drivers/gpio/gpio-pxa.c                       |   6 +-
 drivers/gpio/gpio-rockchip.c                  |   2 +-
 drivers/gpio/gpio-sa1100.c                    |   2 +-
 drivers/gpio/gpio-sodaville.c                 |   2 +-
 drivers/gpio/gpio-tb10x.c                     |   2 +-
 drivers/gpio/gpio-twl4030.c                   |   5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c       |   4 +-
 drivers/gpu/drm/msm/msm_mdss.c                |   2 +-
 drivers/gpu/ipu-v3/ipu-common.c               |   8 +-
 drivers/i2c/busses/i2c-cht-wc.c               |   2 +-
 drivers/i2c/muxes/i2c-mux-pca954x.c           |   8 +-
 drivers/iio/adc/stm32-adc-core.c              |   7 +-
 drivers/irqchip/exynos-combiner.c             |   2 +-
 drivers/irqchip/irq-al-fic.c                  |   2 +-
 drivers/irqchip/irq-alpine-msi.c              |   7 +-
 drivers/irqchip/irq-apple-aic.c               |   4 +-
 drivers/irqchip/irq-armada-370-xp.c           |  18 +-
 drivers/irqchip/irq-aspeed-i2c-ic.c           |   2 +-
 drivers/irqchip/irq-aspeed-intc.c             |   2 +-
 drivers/irqchip/irq-aspeed-scu-ic.c           |   2 +-
 drivers/irqchip/irq-aspeed-vic.c              |   4 +-
 drivers/irqchip/irq-ath79-misc.c              |   4 +-
 drivers/irqchip/irq-atmel-aic-common.c        |   2 +-
 drivers/irqchip/irq-bcm2712-mip.c             |   4 +-
 drivers/irqchip/irq-bcm2835.c                 |   2 +-
 drivers/irqchip/irq-bcm2836.c                 |   2 +-
 drivers/irqchip/irq-bcm6345-l1.c              |   2 +-
 drivers/irqchip/irq-bcm7038-l1.c              |   2 +-
 drivers/irqchip/irq-bcm7120-l2.c              |   2 +-
 drivers/irqchip/irq-brcmstb-l2.c              |   2 +-
 drivers/irqchip/irq-clps711x.c                |   6 +-
 drivers/irqchip/irq-crossbar.c                |   6 +-
 drivers/irqchip/irq-csky-apb-intc.c           |   2 +-
 drivers/irqchip/irq-csky-mpintc.c             |   2 +-
 drivers/irqchip/irq-davinci-cp-intc.c         |   6 +-
 drivers/irqchip/irq-digicolor.c               |   2 +-
 drivers/irqchip/irq-dw-apb-ictl.c             |   2 +-
 drivers/irqchip/irq-ftintc010.c               |   5 +-
 drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c   |   2 +-
 drivers/irqchip/irq-gic-v3.c                  |   4 +-
 drivers/irqchip/irq-goldfish-pic.c            |   7 +-
 drivers/irqchip/irq-hip04.c                   |   6 +-
 drivers/irqchip/irq-i8259.c                   |   4 +-
 drivers/irqchip/irq-idt3243x.c                |   2 +-
 drivers/irqchip/irq-imgpdc.c                  |   2 +-
 drivers/irqchip/irq-imx-gpcv2.c               |   6 +-
 drivers/irqchip/irq-imx-intmux.c              |   2 +-
 drivers/irqchip/irq-imx-irqsteer.c            |   2 +-
 drivers/irqchip/irq-ingenic-tcu.c             |   4 +-
 drivers/irqchip/irq-ingenic.c                 |   4 +-
 drivers/irqchip/irq-ixp4xx.c                  |   2 +-
 drivers/irqchip/irq-jcore-aic.c               |   5 +-
 drivers/irqchip/irq-keystone.c                |   4 +-
 drivers/irqchip/irq-lan966x-oic.c             |   2 +-
 drivers/irqchip/irq-loongarch-cpu.c           |   2 +-
 drivers/irqchip/irq-loongson-eiointc.c        |   2 +-
 drivers/irqchip/irq-loongson-htvec.c          |   2 +-
 drivers/irqchip/irq-loongson-liointc.c        |   2 +-
 drivers/irqchip/irq-loongson-pch-msi.c        |   2 +-
 drivers/irqchip/irq-loongson-pch-pic.c        |   2 +-
 drivers/irqchip/irq-lpc32xx.c                 |   4 +-
 drivers/irqchip/irq-ls-extirq.c               |   4 +-
 drivers/irqchip/irq-ls-scfg-msi.c             |  10 +-
 drivers/irqchip/irq-ls1x.c                    |   4 +-
 drivers/irqchip/irq-mchp-eic.c                |   5 +-
 drivers/irqchip/irq-meson-gpio.c              |   2 +-
 drivers/irqchip/irq-mips-cpu.c                |  13 +-
 drivers/irqchip/irq-mips-gic.c                |  15 +-
 drivers/irqchip/irq-mmp.c                     |  12 +-
 drivers/irqchip/irq-mscc-ocelot.c             |   4 +-
 drivers/irqchip/irq-mst-intc.c                |   4 +-
 drivers/irqchip/irq-mtk-cirq.c                |   5 +-
 drivers/irqchip/irq-mtk-sysirq.c              |   4 +-
 drivers/irqchip/irq-mvebu-gicp.c              |   2 +-
 drivers/irqchip/irq-mvebu-odmi.c              |   2 +-
 drivers/irqchip/irq-mvebu-pic.c               |   4 +-
 drivers/irqchip/irq-mvebu-sei.c               |   6 +-
 drivers/irqchip/irq-mxs.c                     |   4 +-
 drivers/irqchip/irq-nvic.c                    |   2 +-
 drivers/irqchip/irq-omap-intc.c               |   4 +-
 drivers/irqchip/irq-or1k-pic.c                |   4 +-
 drivers/irqchip/irq-orion.c                   |   6 +-
 drivers/irqchip/irq-owl-sirq.c                |   4 +-
 drivers/irqchip/irq-pic32-evic.c              |   8 +-
 drivers/irqchip/irq-pruss-intc.c              |   4 +-
 drivers/irqchip/irq-qcom-mpm.c                |   2 +-
 drivers/irqchip/irq-realtek-rtl.c             |   2 +-
 drivers/irqchip/irq-renesas-intc-irqpin.c     |   6 +-
 drivers/irqchip/irq-renesas-irqc.c            |   4 +-
 drivers/irqchip/irq-renesas-rza1.c            |   6 +-
 drivers/irqchip/irq-renesas-rzg2l.c           |   6 +-
 drivers/irqchip/irq-renesas-rzv2h.c           |   5 +-
 drivers/irqchip/irq-riscv-intc.c              |   2 +-
 drivers/irqchip/irq-sa11x0.c                  |   2 +-
 drivers/irqchip/irq-sni-exiu.c                |   6 +-
 drivers/irqchip/irq-sp7021-intc.c             |   4 +-
 drivers/irqchip/irq-starfive-jh8100-intc.c    |   4 +-
 drivers/irqchip/irq-stm32-exti.c              |   4 +-
 drivers/irqchip/irq-stm32mp-exti.c            |   9 +-
 drivers/irqchip/irq-sun4i.c                   |   2 +-
 drivers/irqchip/irq-sun6i-r.c                 |   4 +-
 drivers/irqchip/irq-sunxi-nmi.c               |   2 +-
 drivers/irqchip/irq-tb10x.c                   |   8 +-
 drivers/irqchip/irq-tegra.c                   |   5 +-
 drivers/irqchip/irq-ti-sci-inta.c             |  10 +-
 drivers/irqchip/irq-ti-sci-intr.c             |   7 +-
 drivers/irqchip/irq-ts4800.c                  |   2 +-
 drivers/irqchip/irq-uniphier-aidet.c          |   2 +-
 drivers/irqchip/irq-versatile-fpga.c          |   4 +-
 drivers/irqchip/irq-vf610-mscm-ir.c           |   6 +-
 drivers/irqchip/irq-vic.c                     |   5 +-
 drivers/irqchip/irq-vt8500.c                  |   2 +-
 drivers/irqchip/irq-wpcm450-aic.c             |   2 +-
 drivers/irqchip/irq-xilinx-intc.c             |   6 +-
 drivers/irqchip/irq-xtensa-mx.c               |   7 +-
 drivers/irqchip/irq-xtensa-pic.c              |   8 +-
 drivers/irqchip/irq-zevio.c                   |   4 +-
 drivers/irqchip/spear-shirq.c                 |   2 +-
 drivers/mailbox/qcom-ipcc.c                   |   4 +-
 drivers/memory/omap-gpmc.c                    |   6 +-
 drivers/mfd/88pm860x-core.c                   |   4 +-
 drivers/mfd/ab8500-core.c                     |   6 +-
 drivers/mfd/arizona-irq.c                     |   3 +-
 drivers/mfd/db8500-prcmu.c                    |   6 +-
 drivers/mfd/fsl-imx25-tsadc.c                 |   5 +-
 drivers/mfd/lp8788-irq.c                      |   2 +-
 drivers/mfd/max8925-core.c                    |   4 +-
 drivers/mfd/max8997-irq.c                     |   4 +-
 drivers/mfd/max8998-irq.c                     |   2 +-
 drivers/mfd/mt6358-irq.c                      |   6 +-
 drivers/mfd/mt6397-irq.c                      |   6 +-
 drivers/mfd/qcom-pm8xxx.c                     |   6 +-
 drivers/mfd/stmfx.c                           |   2 +-
 drivers/mfd/stmpe.c                           |   4 +-
 drivers/mfd/tc3589x.c                         |   6 +-
 drivers/mfd/tps65217.c                        |   2 +-
 drivers/mfd/tps6586x.c                        |   2 +-
 drivers/mfd/twl4030-irq.c                     |   4 +-
 drivers/mfd/twl6030-irq.c                     |   5 +-
 drivers/mfd/wm831x-irq.c                      |  15 +-
 drivers/mfd/wm8994-irq.c                      |   4 +-
 drivers/misc/hi6421v600-irq.c                 |   5 +-
 drivers/net/dsa/microchip/ksz_common.c        |   5 +-
 drivers/net/dsa/microchip/ksz_ptp.c           |   4 +-
 drivers/net/dsa/mv88e6xxx/chip.c              |   2 +-
 drivers/net/dsa/mv88e6xxx/global2.c           |   6 +-
 drivers/net/dsa/qca/ar9331.c                  |   4 +-
 drivers/net/dsa/realtek/rtl8365mb.c           |   4 +-
 drivers/net/dsa/realtek/rtl8366rb.c           |   6 +-
 .../net/ethernet/wangxun/txgbe/txgbe_irq.c    |   6 +-
 drivers/net/usb/lan78xx.c                     |   9 +-
 drivers/pci/controller/dwc/pci-dra7xx.c       |   4 +-
 drivers/pci/controller/dwc/pci-keystone.c     |   2 +-
 .../pci/controller/dwc/pcie-designware-host.c |   2 +-
 drivers/pci/controller/dwc/pcie-dw-rockchip.c |   4 +-
 drivers/pci/controller/dwc/pcie-uniphier.c    |   2 +-
 .../controller/mobiveil/pcie-mobiveil-host.c  |  11 +-
 drivers/pci/controller/pci-aardvark.c         |  14 +-
 drivers/pci/controller/pci-ftpci100.c         |   4 +-
 drivers/pci/controller/pci-mvebu.c            |   6 +-
 drivers/pci/controller/pci-xgene-msi.c        |   5 +-
 drivers/pci/controller/pcie-altera-msi.c      |   4 +-
 drivers/pci/controller/pcie-altera.c          |   2 +-
 drivers/pci/controller/pcie-brcmstb.c         |   4 +-
 drivers/pci/controller/pcie-iproc-msi.c       |   6 +-
 drivers/pci/controller/pcie-mediatek-gen3.c   |   9 +-
 drivers/pci/controller/pcie-mediatek.c        |   6 +-
 drivers/pci/controller/pcie-rockchip-host.c   |   4 +-
 drivers/pci/controller/pcie-xilinx-cpm.c      |  10 +-
 drivers/pci/controller/pcie-xilinx-dma-pl.c   |  14 +-
 drivers/pci/controller/pcie-xilinx-nwl.c      |  11 +-
 drivers/pci/controller/pcie-xilinx.c          |   5 +-
 drivers/pci/controller/plda/pcie-plda-host.c  |  16 +-
 drivers/pinctrl/mediatek/mtk-eint.c           |   5 +-
 drivers/pinctrl/pinctrl-at91-pio4.c           |   2 +-
 drivers/pinctrl/pinctrl-keembay.c             |   2 +-
 drivers/pinctrl/pinctrl-single.c              |   9 +-
 drivers/pinctrl/sunxi/pinctrl-sunxi.c         |   7 +-
 drivers/platform/x86/asus-tf103c-dock.c       |   2 +-
 drivers/remoteproc/pru_rproc.c                |   2 +-
 drivers/sh/intc/irqdomain.c                   |   5 +-
 drivers/soc/dove/pmu.c                        |   4 +-
 drivers/soc/fsl/qe/qe_ic.c                    |   8 +-
 drivers/soc/qcom/smp2p.c                      |   2 +-
 drivers/soc/qcom/smsm.c                       |   2 +-
 drivers/soc/tegra/pmc.c                       |   5 +-
 drivers/spmi/spmi-pmic-arb.c                  |   2 +-
 drivers/ssb/driver_gpio.c                     |   8 +-
 drivers/thermal/qcom/lmh.c                    |   3 +-
 drivers/thermal/tegra/soctherm.c              |   2 +-
 include/linux/gpio/driver.h                   |   5 +-
 include/linux/irqdomain.h                     | 211 ++++++++----------
 kernel/irq/irqdomain.c                        |  88 +-------
 sound/soc/codecs/wcd937x.c                    |   2 +-
 sound/soc/codecs/wcd938x.c                    |   2 +-
 sound/soc/codecs/wcd939x.c                    |   2 +-
 272 files changed, 838 insertions(+), 945 deletions(-)

-- 
2.49.0




More information about the linux-riscv mailing list