This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository linux.
from 914873bc7df9 Merge tag 'x86-build-2025-05-25' of git://git.kernel.org/p [...] new f955aa8723a6 riscv: entry: Convert ret_from_fork() to C new 5b3d6103b343 riscv: entry: Split ret_from_fork() into user and kernel new 7ace1602abf2 LoongArch: entry: Migrate ret_from_fork() to C new e43b8bb56e53 entry: Inline syscall_exit_to_user_mode() new 8278fd6006a0 LoongArch: entry: Fix include order new 0c1494015fea Merge tag 'core-entry-2025-05-25' of git://git.kernel.org/ [...] new 0a02e1f4a54a irqdomain: Support three-cell scheme interrupts new 41c95ac48394 genirq/irqdesc: Use sysfs_emit() to instead of s*printf() new 0128816c42b5 genirq: Fix typo in IRQ_NOTCONNECTED comment new e5032ead8599 genirq/irqdesc: Decrease indentation level in __irq_get_de [...] new 0f70a49f3fa3 genirq: Provide conditional lock guards new 5d964a9f7cd8 genirq/irqdesc: Switch to lock guards new e80618b27a00 genirq/autoprobe: Switch to lock guards new 19b4b1442833 genirq/pm: Switch to lock guards new 4bcdf07467fa genirq/resend: Switch to lock guards new 659ff9c9d77b genirq/proc: Switch to lock guards new e815ffc759fb genirq/spurious: Cleanup code new 113332a86553 genirq/spurious: Switch to lock guards new 88a4df117ad6 genirq/cpuhotplug: Convert to lock guards new ecb84a3e7e7c genirq/debugfs: Convert to lock guards new a6d8d0d12e19 genirq/chip: Prepare for code reduction new 2ef2e13094c7 genirq/chip: Rework handle_nested_irq() new 1a3678675f69 genirq/chip: Rework handle_simple_irq() new a155777175bb genirq/chip: Rework handle_untracked_irq() new 2334c4552103 genirq/chip: Rework handle_level_irq() new 15d772e2eebd genirq/chip: Rework handle_eoi_irq() new 2d46aea52c02 genirq/chip: Rework handle_edge_irq() new 2beb01cbb75e genirq/chip: Rework handle_fasteoi_ack_irq() new f71d7c45edad genirq/chip: Rework handle_fasteoi_mask_irq() new e7c654255791 genirq/chip: Use lock guards where applicable new 46ff4d11f081 genirq/chip: Rework irq_set_chip() new fa870e0f3551 genirq/chip: Rework irq_set_irq_type() new 321a0fdf1337 genirq/chip: Rework irq_set_handler_data() new c836e5a70c59 genirq/chip: Rework irq_set_msi_desc_off() new b3801ddc6883 genirq/chip: Rework irq_set_chip_data() new 5cd05f3e2315 genirq/chip: Rework irq_set_handler() variants new 95a3645893bc genirq/chip: Rework irq_modify_status() new 0c169edf3607 genirq/manage: Cleanup kernel doc comments new 17c1953567eb genirq/manage: Convert to lock guards new b0561582ea1e genirq/manage: Rework irq_update_affinity_desc() new 7e04e5c6f615 genirq/manage: Rework __irq_apply_affinity_hint() new 55ac0ad22fec genirq/manage: Rework irq_set_vcpu_affinity() new 1b7444446724 genirq/manage: Rework __disable_irq_nosync() new bddd10c55407 genirq/manage: Rework enable_irq() new 8589e325ba4f genirq/manage: Rework irq_set_irq_wake() new a1ceb831417b genirq/manage: Rework can_request_irq() new 90140d08ac7a genirq/manage: Rework irq_set_parent() new 508bd94c3ad4 genirq/manage: Rework enable_percpu_irq() new b171f712d6ef genirq/manage: Rework irq_percpu_is_enabled() new 8e3f672b1949 genirq/manage: Rework disable_percpu_irq() new 65dd1f7ca94f genirq/manage: Rework prepare_percpu_nmi() new 5fec6d5cd24a genirq/manage: Rework teardown_percpu_nmi() new 782249a99747 genirq/manage: Rework irq_get_irqchip_state() new 193879e28be7 genirq/manage: Rework irq_set_irqchip_state() new 104361217c2a genirq: Remove irq_[get|put]_desc*() new aefc11550ebd genirq: Remove unused remove_percpu_irq() new 97f4b999e0c8 genirq: Use scoped_guard() to shut clang up new c85550625706 genirq/cpuhotplug: Fix up lock guards conversion brainf..t new c1ab449df871 genirq: Fix inverted condition in handle_nested_irq() new b5fcb6898202 genirq: Ensure flags in lock guard is consistently initialized new 47af06c9d31f genirq: Consistently use '%u' format specifier for unsigne [...] new 58eb5721a445 genirq/manage: Use the correct lock guard in irq_set_irq_wake() new a4a39c81e104 genirq: Bump the size of the local variable for sprintf() new 788019eb559f genirq: Retain disable depth for managed interrupts across [...] new a510bb87da72 genirq/irqdesc: Remove double locking in hwirq_show() new 60c1d948f79d Merge tag 'irq-core-2025-05-25' of git://git.kernel.org/pu [...] new 9773c540441c dt-bindings: interrupt-controller: Add EcoNet EN751221 INTC new 1902a59cf5f9 irqchip: Add EcoNet EN751221 INTC new 06f2f68a670a genirq/generic-chip: Make locking unconditional new 195298c3b116 genirq/generic-chip: Convert core code to lock guards new b54bd5a29b42 soc: dove: Convert generic irqchip locking to guard() new 73989a38268d ARM: orion/gpio:: Convert generic irqchip locking to guard() new 9949aec666eb gpio: mvebu: Convert generic irqchip locking to guard() new b00bee8afaca irqchip: Convert generic irqchip locking to guards new 7ae844a6650c genirq/generic-chip: Remove unused lock wrappers new 771487050f83 genirq/generic-chip: Fix incorrect lock guard conversions new 9fe5a0790af6 dt-bindings: interrupt-controller: Add Sophgo SG2044 MSI c [...] new bced55494c23 irqchip/sg2042-msi: Rename functions and data structures t [...] new bad2094e3b1c irqchip/sg2042-msi: Introduce configurable chipinfo for SG2042 new e96b93a97c90 irqchip/sg2042-msi: Add the Sophgo SG2044 MSI interrupt co [...] new 76b66e8c9d15 irqchip/sg2042-msi: Fix wrong type cast in sg2044_msi_irq_ack() new 22111fdf1166 irqchip/irq-vt8500: Split up ack/mask functions new 45453df7f69b irqchip/irq-vt8500: Drop redundant copy of the device node [...] new 54a1f3eb89de irqchip/irq-vt8500: Don't require 8 interrupts from a chai [...] new 49f92d3859cd irqchip/irq-vt8500: Use a dedicated chained handler function new 99ad153fbd22 irqchip/irq-vt8500: Use fewer global variables and add err [...] new 85cf5c63d32f irqchip/econet-en751221: Switch to irq_domain_create_linear() new 15568ffd59d4 irqchip/irq-vt8500: Switch to irq_domain_create_*() new 96a8cb6d28ce irqchip/econet-en751221: Switch to of_fwnode_handle() new f1a3fac4095c irqchip/gic-v4.1: Use local 4_1 ITS to generate VSGI new 3e402acd5c4f irqchip/irq-pruss-intc: Simplify chained interrupt handler setup new c0f182c979cf Merge tag 'irq-drivers-2025-05-25' of git://git.kernel.org [...] new fdc348121f24 irqdomain: pci: Switch to of_fwnode_handle() new 8288eac57dce Merge tag 'irqdomain-04-08-25' into irq/cleanups new 87228532e7e9 irqchip: Switch to of_fwnode_handle() new f09831892c80 powerpc: Switch to of_fwnode_handle() new b712918091c9 x86/io_apic: Switch to of_fwnode_handle() new e847a847aea5 irqdomain: Drop of_node_to_fwnode() new c7131b12080a irqdomain: Make irq_domain_create_hierarchy() an inline new 80f2405bf204 ARC: Switch to irq_domain_create_linear() new 4dcb0045a363 ARM: Switch to irq_domain_create_*() new 13c984392b28 bus: moxtet: Switch to irq_domain_create_simple() new 6be00e43351e EDAC/altera: Switch to irq_domain_create_linear() new 9cf19f061ccc gpio: Switch to irq_domain_create_*() new 493e10926762 gpu: Switch to irq_domain_create_linear() new 3fd83ff1d923 i2c: Switch to irq_domain_create_linear() new 7f68126a8766 iio: Switch to irq_domain_create_simple() new affdc0d1bdfa irqchip: Switch to irq_domain_create_*() new b9a7f080e72b mailbox: qcom-ipcc: Switch to irq_domain_create_tree() new 8529e33bfe98 memory: omap-gpmc: Switch to irq_domain_create_linear() new a36aa0f7226a mfd: Switch to irq_domain_create_*() new 0810f121e029 MIPS: Switch to irq_domain_create_*() new d8566886f238 misc: hi6421-spmi-pmic: Switch to irq_domain_create_simple() new e0c27a82c27f net: Switch to irq_domain_create_*() new e9bf22564413 nios2: Switch to irq_domain_create_linear() new 4b5e1d97154d PCI: Switch to irq_domain_create_linear() new 219182fe2190 pinctrl: Switch to irq_domain_create_*() new bf9935e47939 powerpc: Switch to irq_domain_create_*() new b625f934ba1c sh: Switch to irq_domain_create_*() new 6e4e30d70a91 soc: Switch to irq_domain_create_*() new 29dea335e355 thermal: Switch to irq_domain_create_linear() new 813da4f379e7 powerpc: Switch irq_domain_add_nomap() to use fwnode new 42b8b16fe56c irqdomain: Drop irq_domain_add_*() functions new 8035d9f2665e powerpc: Switch to irq_find_mapping() new f569ac9cabfd sh: Switch to irq_find_mapping() new 30b6692ceda0 gpio: idt3243x: Switch to irq_find_mapping() new e68664c08e39 gpu: ipu-v3: Switch to irq_find_mapping() new 31b3ad400245 irqchip/armada-370-xp: Switch to irq_find_mapping() new 609f900ad609 pinctrl: keembay: Switch to irq_find_mapping() new 14ebb11ba895 irqdomain: Drop irq_linear_revmap() new 18e743e91102 irqdomain: Use irq_domain_instantiate()'s return value as [...] new 66cbf17fe671 irqdomain: Make struct irq_domain_info variables const new 2272a78b3f4a irqdomain: Improve kernel-docs of functions new 2f7bd3293e45 Documentation: irq/concepts: Add commas and reflow new 225942f06e93 Documentation: irq/concepts: Minor improvements new 95cfac1b2f85 Documentation: irq-domain.rst: Simple improvements new a4efe303e50e Documentation: irqdomain: Update it new a10024e671d1 irqdomain: Fix kernel-doc and add it to Documentation new 38c1e73fdeb3 irqdomain: Consolidate coding style new 2bd1bea5fa6a Merge tag 'irq-cleanups-2025-05-25' of git://git.kernel.or [...] new 092d00ead733 cleanup: Provide retain_and_null_ptr() new 0dac2b09303c genirq/msi: Use lock guards for MSI descriptor locking new f25dd9ac4846 soc: ti: ti_sci_inta_msi: Switch MSI descriptor locking to [...] new 8f3315cf7e97 NTB/msi: Switch MSI descriptor locking to lock guard() new 497f68cff621 PCI/MSI: Use guard(msi_desc_lock) where applicable new b0c44a5ec355 PCI/MSI: Set pci_dev:: Msi_enabled late new 5c0ba4f9d25e PCI/MSI: Use __free() for affinity masks new f11cc2af8f4b PCI/MSI: Switch msi_capability_init() to guard(msi_desc_lock) new 891146645e5d PCI/MSI: Switch msix_capability_init() to guard(msi_desc_lock) new 6552e90e2a23 PCI: hv: Switch MSI descriptor locking to guard() new d5124a9957b2 PCI/MSI: Provide a sane mechanism for TPH new 71296eae5887 PCI/TPH: Replace the broken MSI-X control word update new e46a28cea29a scsi: ufs: qcom: Remove the MSI descriptor abuse new 9357e329cdeb genirq/msi: Rename msi_[un]lock_descs() new 9a958e1fd40d platform-msi: Add msi_remove_device_irq_domain() in platfo [...] new b8c7bfb7a0f0 irqdomain: Add IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and irq_domai [...] new fd120c38fefd irqchip/gic-v3-its: Set IRQ_DOMAIN_FLAG_MSI_IMMUTABLE for ITS new a6aed6b9c79e dt-bindings: PCI: pci-ep: Add support for iommu-map and msi-map new f1680d9081e1 irqchip/gic-v3-its: Add support for device tree msi-map an [...] new a1d8a8309367 Merge branch 'irq/platform-msi' into irq/msi new 28026cf2dd84 genirq/msi: Add .msi_teardown() callback as the reverse of [...] new 713335b6ee29 irqchip/gic-v3-its: Implement .msi_teardown() callback new 1396e89e09f0 genirq/msi: Move prepare() call to per-device allocation new 03c298760ed9 genirq/msi: Engage the .msi_teardown() callback on domain removal new 7dd20bf2f010 irqchip/gic-v3-its: Use allocation size from the prepare call new 6a08164de9fc Merge irq/cleanup fragments into irq/msi new e51b27438a10 irqchip: Make irq-msi-lib.h globally available new e4d001b54f78 genirq/msi: Add helper for creating MSI-parent irq domains new c6b77822347a irqchip/gic: Convert to msi_create_parent_irq_domain() helper new b35961ce0a97 irqchip/mvebu: Convert to msi_create_parent_irq_domain() helper new 06526443a34c irqchip/msi-lib: Honour the MSI_FLAG_NO_AFFINITY flag new 5d627a9484ec PCI: apple: Convert to MSI parent infrastructure new ae79351ef280 PCI: xgene: Convert to MSI parent infrastructure new 944242787695 PCI: tegra: Convert to MSI parent infrastructure new 4e7bca76e3fe PCI/MSI: Use bool for MSI enable state tracking new 44ed0f35df34 Merge tag 'irq-msi-2025-05-25' of git://git.kernel.org/pub [...]
The 176 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: Documentation/core-api/genericirq.rst | 2 - Documentation/core-api/irq/concepts.rst | 27 +- Documentation/core-api/irq/irq-domain.rst | 203 ++-- .../interrupt-controller/econet,en751221-intc.yaml | 78 ++ .../interrupt-controller/sophgo,sg2042-msi.yaml | 4 +- Documentation/devicetree/bindings/pci/pci-ep.yaml | 68 ++ .../translations/zh_CN/core-api/irq/irq-domain.rst | 8 +- arch/arc/kernel/intc-arcv2.c | 2 +- arch/arc/kernel/intc-compact.c | 5 +- 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 | 5 +- arch/arm/plat-orion/gpio.c | 18 +- arch/loongarch/include/asm/asm-prototypes.h | 8 + arch/loongarch/kernel/entry.S | 22 +- arch/loongarch/kernel/process.c | 33 +- arch/mips/ath25/ar2315.c | 4 +- arch/mips/ath25/ar5312.c | 4 +- arch/mips/cavium-octeon/octeon-irq.c | 25 +- arch/mips/lantiq/irq.c | 2 +- arch/mips/pci/pci-ar2315.c | 4 +- arch/mips/pci/pci-rt3883.c | 7 +- arch/mips/ralink/irq.c | 2 +- arch/nios2/kernel/irq.c | 3 +- arch/powerpc/platforms/44x/uic.c | 7 +- arch/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 | 4 +- arch/powerpc/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/embedded6xx/flipper-pic.c | 7 +- arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 7 +- arch/powerpc/platforms/powermac/pic.c | 7 +- arch/powerpc/platforms/powermac/smp.c | 2 +- arch/powerpc/platforms/powernv/opal-irqchip.c | 3 +- arch/powerpc/platforms/powernv/pci-ioda.c | 2 +- arch/powerpc/platforms/ps3/interrupt.c | 2 +- arch/powerpc/platforms/pseries/msi.c | 2 +- arch/powerpc/sysdev/cpm2_pic.c | 5 +- arch/powerpc/sysdev/ehv_pic.c | 7 +- 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 | 7 +- arch/powerpc/sysdev/mpic.c | 10 +- arch/powerpc/sysdev/tsi108_pci.c | 4 +- arch/powerpc/sysdev/xive/common.c | 2 +- arch/riscv/include/asm/asm-prototypes.h | 2 + arch/riscv/kernel/entry.S | 20 +- arch/riscv/kernel/process.c | 21 +- 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/x86/kernel/apic/io_apic.c | 2 +- drivers/base/platform-msi.c | 1 + drivers/bus/moxtet.c | 6 +- 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 | 17 +- 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 | 6 +- drivers/iio/adc/stm32-adc-core.c | 7 +- drivers/irqchip/Kconfig | 5 + drivers/irqchip/Makefile | 1 + drivers/irqchip/exynos-combiner.c | 2 +- drivers/irqchip/irq-al-fic.c | 20 +- drivers/irqchip/irq-alpine-msi.c | 7 +- drivers/irqchip/irq-apple-aic.c | 4 +- drivers/irqchip/irq-armada-370-xp.c | 12 +- 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-atmel-aic.c | 19 +- drivers/irqchip/irq-atmel-aic5.c | 28 +- drivers/irqchip/irq-bcm2712-mip.c | 6 +- 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 | 24 +- drivers/irqchip/irq-brcmstb-l2.c | 10 +- drivers/irqchip/irq-clps711x.c | 4 +- drivers/irqchip/irq-crossbar.c | 6 +- drivers/irqchip/irq-csky-apb-intc.c | 5 +- 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 | 5 +- drivers/irqchip/irq-econet-en751221.c | 310 ++++++ drivers/irqchip/irq-ftintc010.c | 5 +- drivers/irqchip/irq-gic-v2m.c | 18 +- drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 2 +- drivers/irqchip/irq-gic-v3-its-msi-parent.c | 39 +- drivers/irqchip/irq-gic-v3-its.c | 76 +- drivers/irqchip/irq-gic-v3-mbi.c | 18 +- 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 | 4 +- drivers/irqchip/irq-imx-intmux.c | 2 +- drivers/irqchip/irq-imx-irqsteer.c | 2 +- drivers/irqchip/irq-imx-mu-msi.c | 2 +- drivers/irqchip/irq-ingenic-tcu.c | 13 +- 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 | 20 +- drivers/irqchip/irq-loongarch-avec.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 | 11 +- drivers/irqchip/irq-loongson-pch-msi.c | 4 +- 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 | 7 +- drivers/irqchip/irq-msi-lib.c | 9 +- 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 | 26 +- drivers/irqchip/irq-mvebu-icu.c | 2 +- drivers/irqchip/irq-mvebu-odmi.c | 27 +- drivers/irqchip/irq-mvebu-pic.c | 4 +- drivers/irqchip/irq-mvebu-sei.c | 24 +- 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 | 6 +- drivers/irqchip/irq-pruss-intc.c | 7 +- 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-imsic-platform.c | 2 +- drivers/irqchip/irq-riscv-intc.c | 2 +- drivers/irqchip/irq-sa11x0.c | 2 +- drivers/irqchip/irq-sg2042-msi.c | 154 ++- 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 | 25 +- 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 | 11 +- drivers/irqchip/irq-tb10x.c | 21 +- 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 | 153 +-- drivers/irqchip/irq-wpcm450-aic.c | 2 +- drivers/irqchip/irq-xilinx-intc.c | 4 +- drivers/irqchip/irq-xtensa-mx.c | 5 +- drivers/irqchip/irq-xtensa-pic.c | 4 +- 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 +- drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c | 4 +- drivers/net/usb/lan78xx.c | 9 +- drivers/ntb/msi.c | 22 +- drivers/pci/controller/Kconfig | 3 + drivers/pci/controller/dwc/pci-dra7xx.c | 4 +- drivers/pci/controller/dwc/pci-keystone.c | 2 +- drivers/pci/controller/dwc/pcie-amd-mdb.c | 8 +- drivers/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 +- .../pci/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-hyperv.c | 14 +- drivers/pci/controller/pci-mvebu.c | 6 +- drivers/pci/controller/pci-tegra.c | 63 +- drivers/pci/controller/pci-xgene-msi.c | 53 +- drivers/pci/controller/pcie-altera-msi.c | 4 +- drivers/pci/controller/pcie-altera.c | 2 +- drivers/pci/controller/pcie-apple.c | 69 +- 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/pci/msi/api.c | 8 +- drivers/pci/msi/msi.c | 179 +-- drivers/pci/msi/msi.h | 2 +- drivers/pci/pci.h | 9 + drivers/pci/tph.c | 44 +- 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/sh/intc/irqdomain.c | 5 +- drivers/soc/dove/pmu.c | 7 +- drivers/soc/fsl/qe/qe_ic.c | 4 +- drivers/soc/qcom/smp2p.c | 2 +- drivers/soc/qcom/smsm.c | 2 +- drivers/soc/tegra/pmc.c | 5 +- drivers/soc/ti/ti_sci_inta_msi.c | 10 +- drivers/thermal/qcom/lmh.c | 3 +- drivers/thermal/tegra/soctherm.c | 2 +- drivers/ufs/host/ufs-qcom.c | 85 +- include/linux/cleanup.h | 19 + include/linux/entry-common.h | 43 +- include/linux/gpio/driver.h | 5 +- include/linux/interrupt.h | 2 +- include/linux/irq.h | 28 +- {drivers => include/linux}/irqchip/irq-msi-lib.h | 6 +- include/linux/irqdomain.h | 499 ++++----- include/linux/msi.h | 23 +- include/linux/pci.h | 4 +- kernel/entry/common.c | 49 +- kernel/irq/autoprobe.c | 26 +- kernel/irq/chip.c | 631 +++++------ kernel/irq/cpuhotplug.c | 12 +- kernel/irq/debugfs.c | 7 +- kernel/irq/generic-chip.c | 47 +- kernel/irq/internals.h | 48 +- kernel/irq/irqdesc.c | 176 ++- kernel/irq/irqdomain.c | 130 +-- kernel/irq/manage.c | 1166 ++++++++------------ kernel/irq/msi.c | 192 ++-- kernel/irq/pm.c | 38 +- kernel/irq/proc.c | 67 +- kernel/irq/resend.c | 50 +- kernel/irq/spurious.c | 104 +- 312 files changed, 3332 insertions(+), 3288 deletions(-) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/econet,e [...] create mode 100644 drivers/irqchip/irq-econet-en751221.c rename {drivers => include/linux}/irqchip/irq-msi-lib.h (84%)