From patchwork Wed Mar 19 09:28:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jiri Slaby X-Patchwork-Id: 14022321 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C4EF1EEE6; Wed, 19 Mar 2025 09:30:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742376638; cv=none; b=e1pZnfdbyvuC7ZC/ZSb7FkiBNg0VVurF2man+HiDb++W9aRLzia3biottSeWZuyt74n5xznNevj4Uvj7WoYzeWBqeauBAIw72YB/KlsO+YSWgR5STQ+rK2PNDqPRJioJivJbzecxoawPDYhVOF5YopsIsW/TrAetBFDmCv7JIQU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742376638; c=relaxed/simple; bh=kIAOhvTDwNJUqqsksoBZcEdbt37vq7mpC+KqsAhXVn4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=gAPM5b2rGGykHS4xKYa0k5J82RSD86uzfjzA+/EOkiE6y4zYO81xoU/3250SnIFvaD1QlnFtlj5RdXZcXWne8BzVbDYX7+Sw7E5vYe+egK3n134FaS3LrIiA87TVYaILob0Nrs6QwcOGhx6PqUnyrI6T9aqh+ZDOli2m7wj9XpY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JHFpFquv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JHFpFquv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCC5BC4CEE9; Wed, 19 Mar 2025 09:29:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742376638; bh=kIAOhvTDwNJUqqsksoBZcEdbt37vq7mpC+KqsAhXVn4=; h=From:To:Cc:Subject:Date:From; b=JHFpFquv/U6v4vkowPwaMXcGCfItYIAsWV00Ih7EbBLTrDnNHDkqgRUa5ZcdR6PPT GE73t7IHMHaA5apvRNwpbDEvupLn5GEAROfwG8bfOC3cWm4r+wAQpSmx/nSdIOfft3 g6zWFgTwbkIm1pTwp9PFGCWv+F/37wpisUTihZ018rrKSrTzndRRSods8QhjPWc0h0 Dz0blnLWWjitFHWBcwSlPWcVj9l1cqhOjMZjmHLHersV3cpNGEMv4hjcn3IBGUGMpD Uwpffo6LtYQoMnAAzDkwZWIhy/r5yBypbyXxtoG2EVI7F+M9Ak3ZkA195gONZahMqe 3dXetUJTXAo6w== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Aaro Koskinen , Abhinav Kumar , Albert Ou , Alexandre Belloni , Alexandre Ghiti , Alexandre Torgue , Alex Deucher , Alex Shi , Alim Akhtar , =?utf-8?q?Alvin_=C5=A0ipraga?= , Alyssa Rosenzweig , amd-gfx@lists.freedesktop.org, Amit Kucheria , Anatolij Gustschin , Andi Shyti , =?utf-8?q?Andreas_F=C3=A4rber?= , Andreas Kemnade , Andrew Jeffery , Andrew Lunn , Andy Shevchenko , AngeloGioacchino Del Regno , Antoine Tenart , Anton Ivanov , Anup Patel , Arnd Bergmann , asahi@lists.linux.dev, Bartosz Golaszewski , Baruch Siach , Benjamin Herrenschmidt , Bharat Kumar Gogada , Bjorn Andersson , Bjorn Helgaas , Borislav Petkov , Broadcom internal kernel review list , Claudiu Beznea , Corentin Chary , Daire McNamara , Daniel Golle , Daniel Lezcano , Daniel Mack , Daniel Palmer , Dave Hansen , David Airlie , "David S. Miller" , DENG Qingfang , Dinh Nguyen , Dmitry Baryshkov , Dongliang Mu , Doug Berger , dri-devel@lists.freedesktop.org, Eddie James , Eric Dumazet , Fabio Estevam , Florian Fainelli , Geoff Levand , Greg Kroah-Hartman , Gregory Clement , Guo Ren , Hans de Goede , Haojian Zhuang , Haojian Zhuang , Heiko Stuebner , Herve Codina , Hou Zhiqiang , "H. Peter Anvin" , Huacai Chen , Changhuang Liang , Chen-Yu Tsai , "Chester A. Unal" , =?utf-8?q?Christian_K=C3=B6nig?= , Christophe Leroy , Chris Zankel , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Imre Kaloz , Ingo Molnar , Jakub Kicinski , James Morse , Janne Grunau , Janusz Krzysztofik , Jaroslav Kysela , Jassi Brar , Jernej Skrabec , Jerome Brunet , Jianjun Wang , Jiawen Wu , Jiaxun Yang , Jim Quinlan , Jingoo Han , Joel Stanley , Johannes Berg , John Crispin , John Paul Adrian Glaubitz , Jonas Bonn , Jonathan Cameron , Jonathan Corbet , Jonathan Hunter , =?utf-8?q?Jonathan_Neusch=C3=A4fer?= , Joyce Ooi , Karthikeyan Mitran , Keerthy , Kevin Hilman , Konrad Dybcio , Krzysztof Kozlowski , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , Kunihiko Hayashi , Lakshmi Sowjanya D , Lars-Peter Clausen , Lee Jones , Liam Girdwood , Linus Walleij , Linus Walleij , linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-doc@vger.kernel.org, linux-edac@vger.kernel.org, linux-gpio@vger.kernel.org, linux-iio@vger.kernel.org, linux-i2c@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-mips@vger.kernel.org, linux-omap@vger.kernel.org, linux-pci@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-remoteproc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, linux-sh@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-sound@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-um@lists.infradead.org, linux-wireless@vger.kernel.org, loongarch@lists.linux.dev, Lorenzo Pieralisi , Ludovic Desroches , Lukasz Luba , "Luke D. Jones" , Madhavan Srinivasan , Manivannan Sadhasivam , =?utf-8?q?Marek_B?= =?utf-8?q?eh=C3=BAn?= , Marijn Suijten , Mark Brown , Mark-PK Tsai , Martin Blumenstingl , Masami Hiramatsu , Mathieu Poirier , Matthias Brugger , Mauro Carvalho Chehab , Max Filippov , Maxime Coquelin , Mengyuan Lou , Michael Buesch , Michael Ellerman , Michal Simek , Miodrag Dinic , Naveen N Rao , Neil Armstrong , netdev@vger.kernel.org, Nicolas Ferre , Nicolas Saenz Julienne , Nicholas Piggin , Nikhil Agarwal , Nipun Gupta , Nishanth Menon , =?utf-8?q?Pa?= =?utf-8?q?li_Roh=C3=A1r?= , Palmer Dabbelt , Paolo Abeni , Paul Cercueil , Paul Walmsley , Pengutronix Kernel Team , Peter Rosin , Philipp Zabel , Piotr Wojtaszczyk , platform-driver-x86@vger.kernel.org, Prasad Kumpatla , Qiang Zhao , Qin Jian , "Rafael J. Wysocki" , Randy Dunlap , Ray Jui , Rengarajan Sundararajan , Richard Cochran , Richard Weinberger , Rich Felker , Rob Clark , Robert Jarzmik , Robert Richter , Rob Herring , Roger Quadros , Russell King , Ryan Chen , Ryder Lee , Samuel Holland , Santosh Shilimkar , Sascha Hauer , Scott Branden , Scott Wood , Sean Paul , Sean Wang , Sean Wang , Sebastian Hesselbarth , Sergio Paracuellos , Shawn Guo , Shawn Lin , Siddharth Vadapalli , Simona Vetter , Stafford Horne , Stefan Kristiansson , Stephen Boyd , Sven Peter , Takashi Iwai , Talel Shenhar , Tero Kristo , Thangaraj Samynathan , Thara Gopinath , Thierry Reding , Thomas Bogendoerfer , Thomas Petazzoni , Toan Le , Tony Lindgren , Tony Luck , UNGLinuxDriver@microchip.com, =?utf-8?q?Uw?= =?utf-8?q?e_Kleine-K=C3=B6nig?= , Vignesh Raghavendra , Vineet Gupta , Vladimir Oltean , Vladimir Zapolskiy , WANG Xuerui , Woojung Huh , x86@kernel.org, Yanteng Si , Yoshinori Sato , Zhang Rui Subject: [PATCH v2 00/57] irqdomain: Cleanups and Documentation Date: Wed, 19 Mar 2025 10:28:53 +0100 Message-ID: <20250319092951.37667-1-jirislaby@kernel.org> X-Mailer: git-send-email 2.49.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 Cc: Abhinav Kumar Cc: Albert Ou Cc: Alexandre Belloni Cc: Alexandre Ghiti Cc: Alexandre Torgue Cc: Alex Deucher Cc: Alex Shi Cc: Alim Akhtar Cc: "Alvin Šipraga" Cc: Alyssa Rosenzweig Cc: amd-gfx@lists.freedesktop.org Cc: Amit Kucheria Cc: Anatolij Gustschin Cc: Andi Shyti Cc: "Andreas Färber" Cc: Andreas Kemnade Cc: Andrew Jeffery Cc: Andrew Lunn Cc: Andy Shevchenko Cc: AngeloGioacchino Del Regno Cc: Antoine Tenart Cc: Anton Ivanov Cc: Anup Patel Cc: Arnd Bergmann Cc: asahi@lists.linux.dev Cc: Bartosz Golaszewski Cc: Baruch Siach Cc: Benjamin Herrenschmidt Cc: Bharat Kumar Gogada Cc: Bjorn Andersson Cc: Bjorn Helgaas Cc: Borislav Petkov Cc: Broadcom internal kernel review list Cc: Claudiu Beznea Cc: Corentin Chary Cc: Daire McNamara Cc: Daniel Golle Cc: Daniel Lezcano Cc: Daniel Mack Cc: Daniel Palmer Cc: Dave Hansen Cc: David Airlie Cc: "David S. Miller" Cc: DENG Qingfang Cc: Dinh Nguyen Cc: Dmitry Baryshkov Cc: Dongliang Mu Cc: Doug Berger Cc: dri-devel@lists.freedesktop.org Cc: Eddie James Cc: Eric Dumazet Cc: Fabio Estevam Cc: Florian Fainelli Cc: Geoff Levand Cc: Greg Kroah-Hartman Cc: Gregory Clement Cc: Guo Ren Cc: Hans de Goede Cc: Haojian Zhuang Cc: Haojian Zhuang Cc: Heiko Stuebner Cc: Herve Codina Cc: Hou Zhiqiang Cc: "H. Peter Anvin" Cc: Huacai Chen Cc: Changhuang Liang Cc: Chen-Yu Tsai Cc: "Chester A. Unal" Cc: "Christian König" Cc: Christophe Leroy Cc: Chris Zankel Cc: "Ilpo Järvinen" Cc: Imre Kaloz Cc: Ingo Molnar Cc: Jakub Kicinski Cc: James Morse Cc: Janne Grunau Cc: Janusz Krzysztofik Cc: Jaroslav Kysela Cc: Jassi Brar Cc: Jernej Skrabec Cc: Jerome Brunet Cc: Jianjun Wang Cc: Jiawen Wu Cc: Jiaxun Yang Cc: Jim Quinlan Cc: Jingoo Han Cc: Joel Stanley Cc: Johannes Berg Cc: John Crispin Cc: John Paul Adrian Glaubitz Cc: Jonas Bonn Cc: Jonathan Cameron Cc: Jonathan Corbet Cc: Jonathan Hunter Cc: "Jonathan Neuschäfer" Cc: Joyce Ooi Cc: Karthikeyan Mitran Cc: Keerthy Cc: Kevin Hilman Cc: Konrad Dybcio Cc: Krzysztof Kozlowski Cc: "Krzysztof Wilczyński" Cc: Kunihiko Hayashi Cc: Lakshmi Sowjanya D Cc: Lars-Peter Clausen Cc: Lee Jones Cc: Liam Girdwood Cc: Linus Walleij Cc: Linus Walleij Cc: linux-amlogic@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-arm-msm@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-edac@vger.kernel.org Cc: linux-gpio@vger.kernel.org Cc: linux-iio@vger.kernel.org Cc: linux-i2c@vger.kernel.org Cc: linux-mediatek@lists.infradead.org Cc: linux-mips@vger.kernel.org Cc: linux-omap@vger.kernel.org Cc: linux-pci@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-remoteproc@vger.kernel.org Cc: linux-riscv@lists.infradead.org Cc: linux-rpi-kernel@lists.infradead.org Cc: linux-sh@vger.kernel.org Cc: linux-snps-arc@lists.infradead.org Cc: linux-sound@vger.kernel.org Cc: linux-stm32@st-md-mailman.stormreply.com Cc: linux-um@lists.infradead.org Cc: linux-wireless@vger.kernel.org Cc: loongarch@lists.linux.dev Cc: Lorenzo Pieralisi Cc: Ludovic Desroches Cc: Lukasz Luba Cc: "Luke D. Jones" Cc: Madhavan Srinivasan Cc: Manivannan Sadhasivam Cc: Marc Zyngier Cc: "Marek Behún" Cc: Marijn Suijten Cc: Mark Brown Cc: Mark-PK Tsai Cc: Martin Blumenstingl Cc: Masami Hiramatsu Cc: Mathieu Poirier Cc: Matthias Brugger Cc: Mauro Carvalho Chehab Cc: Max Filippov Cc: Maxime Coquelin Cc: Mengyuan Lou Cc: Michael Buesch Cc: Michael Ellerman Cc: Michal Simek Cc: Miodrag Dinic Cc: Naveen N Rao Cc: Neil Armstrong Cc: netdev@vger.kernel.org Cc: Nicolas Ferre Cc: Nicolas Saenz Julienne Cc: Nicholas Piggin Cc: Nikhil Agarwal Cc: Nipun Gupta Cc: Nishanth Menon Cc: "Pali Rohár" Cc: Palmer Dabbelt Cc: Paolo Abeni Cc: Paul Cercueil Cc: Paul Walmsley Cc: Pengutronix Kernel Team Cc: Peter Rosin Cc: Philipp Zabel Cc: Piotr Wojtaszczyk Cc: platform-driver-x86@vger.kernel.org Cc: Prasad Kumpatla Cc: Qiang Zhao Cc: Qin Jian Cc: "Rafael J. Wysocki" Cc: Randy Dunlap Cc: Ray Jui Cc: Rengarajan Sundararajan Cc: Richard Cochran Cc: Richard Weinberger Cc: Rich Felker Cc: Rob Clark Cc: Robert Jarzmik Cc: Robert Richter Cc: Rob Herring Cc: Roger Quadros Cc: Russell King Cc: Ryan Chen Cc: Ryder Lee Cc: Samuel Holland Cc: Santosh Shilimkar Cc: Sascha Hauer Cc: Scott Branden Cc: Scott Wood Cc: Sean Paul Cc: Sean Wang Cc: Sean Wang Cc: Sebastian Hesselbarth Cc: Sergio Paracuellos Cc: Shawn Guo Cc: Shawn Lin Cc: Siddharth Vadapalli Cc: Simona Vetter Cc: Stafford Horne Cc: Stefan Kristiansson Cc: Stephen Boyd Cc: Sven Peter Cc: Takashi Iwai Cc: Talel Shenhar Cc: Tero Kristo Cc: Thangaraj Samynathan Cc: Thara Gopinath Cc: Thierry Reding Cc: Thomas Bogendoerfer Cc: Thomas Gleixner Cc: Thomas Petazzoni Cc: Toan Le Cc: Tony Lindgren Cc: Tony Luck Cc: UNGLinuxDriver@microchip.com Cc: "Uwe Kleine-König" Cc: Vignesh Raghavendra Cc: Vineet Gupta Cc: Vladimir Oltean Cc: Vladimir Zapolskiy Cc: WANG Xuerui Cc: Woojung Huh Cc: x86@kernel.org Cc: Yanteng Si Cc: Yoshinori Sato Cc: Zhang Rui 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(-)