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