linux/drivers
Linus Torvalds 2e973d4882 Updates for interrupt chip drivers:
- Remove the futile attempts to cleanup resources when the probing of the
     main interrupt chip fails for SiFIVE/PLIC devices. If that probe fails
     the system will stall immediately afterwards in the boot process
     without reaching a state where the error could be diagnosed. The lack
     of resource cleanup led to a frenzy of AI detected/assisted "fixes"
     which just make the code pretend to be correct for no value.
 
     Remove the existing half baked cleanup and immediately panic the
     machine when the probe fails. That's far more useful than letting it
     proceed and stall out a millisecond later with no information about the
     root cause.
 
   - A series of fixes for the ARM GIC-V3 driver addressing a potential
     double free, a bitmask overrun on 32-bit ARM and a OF node leak.
 
   - Automatically set the IRQ_DOMAIN_FLAG_DESTROY_GC when a interrupt
     domain is created that also allocates the generic interrupt chip during
     domain creation. That removes the requirement for manually setting the
     flag in the domain creation info structure when it contains a valid
     entry for allocating the generic interrupt chip. Remove the therefore
     redundant setters of IRQ_DOMAIN_FLAG_DESTROY_GC in the existing
     drivers.
 
   - Add support for Annapurna Labs FIC version 2 and 3 and implement
     affinity control for the demultiplexed interrupts by utilizing the
     recently merged interrupt redirection infrastructure.
 
   - Convert the ACPI device ID structures to named initializers
 
   - Consolidate the IPI related constants for RISC-V interrupt controllers
 
   - Add support for Qualcomm Purwa SoC interrupt chip and consolidate the
     workaround for the previous version in Hamoa SoCs.
 
   - The usual small fixes and improvements all over the place
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmrX0aEQHHRnbHhAa2Vy
 bmVsLm9yZwAKCRCmGPVMDXSYoatNEACU5naAkM1k+hTaPXSRcd/JpizpVrM5jpM5
 tOGe5ml6h9Mda+9uFSwR5rOF5kHXofZh70E97zR7C4jD7JNcuXPqgFg202mKfcjg
 ZWcuYKOR5DaAmiNgpXYPyK9UpXQ9YOPwE7MMpv7sv5yfYDVWFzVEOSb5F294D+gK
 vuQLY9jeysDWNRSuXD9Zo8pBoXJZBCMvTWrJJO4fdh8ZxIWJJv35nRoAgYs8ZlWq
 hF1om+Ei8KbftW9ox/ZJ+nomM6UG+H6iw8+7jZ/mQ9kadRExCNNoFF2NDfH/XFX2
 +o+2HVmXW5KTCSmy28aPLBTZojeAoEGvqI5IXu8bKYR6IfYrzdZIe+9UuabPg0lO
 NWOFj1wGbUD84hoo0gI9f1MsTORdNBqccG132MvDKzOyMYQ8cbOEsk44QTjLC+kT
 A46iM1eFC43g2YWpl9qZRKmq+PomCwMwBmjCKNPzG1a24iUzeDdGSs+Es2tNzlQt
 MVPXGHzgBfXb1thEP/28nBpEnAJ6XyXaXvIvp0GcSVdbTmT3MrkEOb0YmI1QUyot
 FRM9WVpy9X0XNo4yqxKAFGVlmGeR9XKMYgU3bgaZ7CgZMe507MAjTGU44mk+LjKa
 Ndyl7ztYrrcf3GMoe1IIbfKI6bcUZ588d6VPLjH8BKCd2ZqRDfnIPNX+oIpoomd3
 FxacuEXq4Q==
 =ma3a
 -----END PGP SIGNATURE-----

Merge tag 'irq-drivers-2026-10-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq chip driver updates from Thomas Gleixner:
 "Updates for interrupt chip drivers:

   - Remove the futile attempts to cleanup resources when the probing of
     the main interrupt chip fails for SiFIVE/PLIC devices. If that
     probe fails the system will stall immediately afterwards in the
     boot process without reaching a state where the error could be
     diagnosed. The lack of resource cleanup led to a frenzy of AI
     detected/assisted "fixes" which just make the code pretend to be
     correct for no value.

     Remove the existing half baked cleanup and immediately panic the
     machine when the probe fails. That's far more useful than letting
     it proceed and stall out a millisecond later with no information
     about the root cause.

   - A series of fixes for the ARM GIC-V3 driver addressing a potential
     double free, a bitmask overrun on 32-bit ARM and a OF node leak.

   - Automatically set the IRQ_DOMAIN_FLAG_DESTROY_GC when a interrupt
     domain is created that also allocates the generic interrupt chip
     during domain creation. That removes the requirement for manually
     setting the flag in the domain creation info structure when it
     contains a valid entry for allocating the generic interrupt chip.
     Remove the therefore redundant setters of
     IRQ_DOMAIN_FLAG_DESTROY_GC in the existing drivers.

   - Add support for Annapurna Labs FIC version 2 and 3 and implement
     affinity control for the demultiplexed interrupts by utilizing the
     recently merged interrupt redirection infrastructure.

   - Convert the ACPI device ID structures to named initializers

   - Consolidate the IPI related constants for RISC-V interrupt
     controllers

   - Add support for Qualcomm Purwa SoC interrupt chip and consolidate
     the workaround for the previous version in Hamoa SoCs.

   - The usual small fixes and improvements all over the place"

* tag 'irq-drivers-2026-10-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (61 commits)
  irqchip/al-fic: Support per-child affinity via interrupt redirection
  irqchip/al-fic: Add support for FIC v3
  irqchip/al-fic: Support error and fatal outputs and FIC v2
  dt-bindings: interrupt-controller: amazon,al-fic: Add mask selection
  irqchip/al-fic: Switch to shared parent interrupt
  irqchip/al-fic: Keep the device_node instead of a cached name string
  irqchip/al-fic: Use %pOF and raise init log level
  irqchip/al-fic: Use %pe to print init error
  irqchip/al-fic: Fix coding style issues
  irqchip: Use named initializers for acpi_device_id
  irqchip/gic-v5: Fix standalone IRSes OF probe
  dt-bindings: interrupt-controller: gicv5: Relax IRS properties constraints
  irqchip/renesas-rzv2h: Preserve TIEN state in rzv2h_tint_set_type()
  irqchip/loongson-eiointc: Use pa_to_nid() rather than hard-code
  irqchip/riscv-imsic: Expose the fwnode via the global config
  irqchip/meson-gpio: Allow the GPIO interrupts to wake the system
  irqchip/gic-v3: Ensure change to DS is visible
  irqchip/mips-gic: Transfer interrupt mask state across clusters
  irqchip/mips-gic: Fix recursive acquisition of gic_lock in gic_set_affinity()
  irqchip/mips-gic: Fix unbalanced cm_core_lock in for_each_online_cpu_gic()
  ...
2026-10-21 11:16:50 -10:00
..
accel accel/rocket: search every core slot when looking up a scheduler 2026-10-13 13:54:27 +02:00
accessibility braille: nbcon: Allow to use a serial console with NBCON API as Braille console 2026-10-02 10:26:42 +02:00
acpi configfs: Updates for v7.4 2026-10-20 16:25:43 -10:00
amba
android Rust changes for v7.4 2026-10-21 10:20:36 -10:00
ata ata: libata-scsi: do not lose CHECK CONDITION for failed ATAPI commands 2026-09-30 10:42:26 +02:00
atm
auxdisplay auxdisplay for v7.3-1 2026-08-24 08:15:59 -07:00
base Scheduler updates: 2026-10-20 12:35:35 -10:00
bcma
block xen: branch for v7.4-rc1 2026-10-20 14:33:15 -10:00
bluetooth Bluetooth: btintel_pcie: use managed IRQ teardown 2026-10-02 11:25:53 -04:00
bus Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
cache
cdrom
cdx cdx: Fix double free when sysfs file creation fails 2026-07-31 14:21:20 +02:00
char Merge __{get,put}_user() removal branch 2026-10-21 07:19:30 -10:00
clk soc: fixes for 7.3, part 2 2026-10-08 06:44:07 +02:00
clocksource clocksource: clint: Use IPI_MAX for IPI muxing 2026-09-04 15:34:34 +02:00
comedi
connector
counter Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
cpufreq cpufreq: intel_pstate: Fix max_freq fallback in cpufreq_update_pressure() 2026-09-29 12:23:20 +02:00
cpuidle cpuidle: dt_idle_genpd: kfree() the original name allocation 2026-09-01 17:28:56 +02:00
crypto - Report in sysfs which SEV confidential computing features are enabled in the 2026-10-20 11:31:05 -10:00
cxl cxl/pci: Add the PMUs after configuring events 2026-10-04 17:02:28 +00:00
dax mm.git review status for mm-hotfixes-stable..mm-stable 2026-08-20 18:17:08 -07:00
dca
devfreq treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
dibs dibs: Unregister dibs_class after error 2026-09-04 16:12:24 -07:00
dio
dma dmaengine fixes for v7.3 2026-09-20 10:45:22 -07:00
dma-buf Revert "dma-buf: Make DMABUF_DEBUG default to y on DEBUG_KERNEL kernels" 2026-10-13 19:26:28 +05:30
dpll dpll: use exact lookup for reference sync pin id 2026-09-21 17:19:42 -07:00
edac - Orphan several EDAC drivers: i82975x, x38, xgene, i3200. Those have been 2026-10-20 08:14:43 -10:00
eisa EISA: Use str_plural() in eisa_probe() 2026-07-31 14:21:14 +02:00
extcon
firewire firewire: core: fix race condition in split transaction handling 2026-10-18 11:59:35 +09:00
firmware Kbuild / Kconfig updates for 7.4 2026-10-21 10:45:44 -10:00
fpga treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
fsi
fwctl rust: introduce abstractions for fwctl 2026-08-14 19:21:17 -03:00
gnss
gpib Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
gpio vfs-7.4-rc1.file 2026-10-19 17:35:50 -10:00
gpu Merge __{get,put}_user() removal branch 2026-10-21 07:19:30 -10:00
greybus
hid hid-for-linus-2026100201 2026-10-02 09:51:11 -07:00
hsi HSI changes for the 7.3 series 2026-08-21 12:01:23 -07:00
hte
hv Core features: 2026-10-20 07:55:19 -10:00
hwmon hwmon: (hp-wmi-sensors) Improve raw WMI string handling 2026-09-16 17:08:19 -07:00
hwspinlock
hwtracing coresight: perf: Suppress ITRACE start records 2026-10-04 17:09:23 +00:00
i2c i2c: xiic: restore non-managed runtime PM to fix clk WARN flood 2026-10-15 22:34:34 +02:00
i3c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
idle Merge branch 'intel-idle-lpi' 2026-08-07 21:22:50 +02:00
iio iio: adc: ad_sigma_delta: fix use-after-free on unbind 2026-09-30 18:59:56 +01:00
infiniband RDMA v7.3 first rc pull 2026-09-14 09:58:12 -07:00
input Input updates for v7.3-rc6 2026-10-11 08:10:43 -07:00
interconnect Revert "interconnect: qcom: x1e80100: enable QoS configuration" 2026-09-16 15:55:38 +03:00
iommu s390 updates for 7.4 merge window 2026-10-20 14:28:32 -10:00
ipack Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
irqchip Updates for interrupt chip drivers: 2026-10-21 11:16:50 -10:00
leds LEDs for v7.3 2026-08-27 11:05:51 -07:00
macintosh macintosh: ans-lcd: use get_user() for reading user bytes 2026-10-20 08:07:29 -10:00
mailbox treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
mcb
md dm-integrity: validate the superblock on resume 2026-10-01 13:18:00 +02:00
media vfs-7.4-rc1.file 2026-10-19 17:35:50 -10:00
memory * Raw NAND changes 2026-08-23 09:11:21 -07:00
memstick memstick: rtsx_usb_ms: complete requests after eject instead of dropping them 2026-09-30 17:53:31 +02:00
message
mfd treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
misc Core features: 2026-10-20 07:55:19 -10:00
mmc mmc: cavium-thunderx: destroy slot platform devices on remove 2026-09-28 17:57:23 +02:00
most
mtd ubi: use put_user() when filling the erase counter array 2026-10-19 19:24:03 -10:00
mux
net Core features: 2026-10-20 07:55:19 -10:00
nfc nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid() 2026-09-23 22:13:18 +02:00
ntb NTB: ntb_transport: Reject oversized TX buffers 2026-08-20 13:43:24 -07:00
nubus
nvdimm treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
nvme block-7.3-20261010 2026-10-11 09:00:33 -07:00
nvmem Char/Misc/IIO/etc driver update for 7.3-rc1 2026-08-25 09:38:50 -07:00
of Devicetree fixes for v7.3, part 2: 2026-10-01 12:47:16 -07:00
opp OPP updates for 7.3-rc2 2026-09-09 19:03:00 +02:00
parisc parisc: eisa: Fix infinite loop when parsing invalid IRQ value 2026-08-18 11:43:05 +02:00
parport
pci Updates for the generic interrupt subsystem: 2026-10-21 11:05:37 -10:00
pcmcia
peci
perf Core features: 2026-10-20 07:55:19 -10:00
phy phy: mediatek: phy-mtk-hdmi-mt8195: Fix TMDS clk bit ratio setting 2026-09-13 16:05:23 +05:30
pinctrl pinctrl: sunxi: dt: do not accumulate npins across probe attempts 2026-10-12 11:30:12 +02:00
platform chrome-platform-firmware: Updates for v7.4 2026-10-20 15:02:13 -10:00
pmdomain pmdomain: rockchip: don't ignore clock lookup errors on attach 2026-09-28 15:36:50 +02:00
pnp PNP: isapnp: use put_user() in the proc read loop 2026-10-19 19:24:01 -10:00
power power sequencing fixes for v7.3 2026-10-16 08:17:30 -07:00
powercap More power management updates for 7.3-rc1 2026-08-26 14:13:26 -07:00
pps pps-gpio: remove dead capture_clear code 2026-08-03 21:10:10 -07:00
ps3
ptp ptp: ocp: fix PCIe delay estimation calculation 2026-10-08 11:01:02 -07:00
pwm Driver core changes for 7.3-rc1 2026-08-19 10:42:18 -07:00
rapidio rapidio: mport_cdev: fix use-after-free in dma_req_free() 2026-08-05 11:20:14 -07:00
ras - Mark the mpc85xx and ThunderX EDAC drivers as orphaned due to lack of 2026-08-31 20:10:39 -07:00
regulator regulator: ltc3676: don't read the write-only HRST and CLIRQ registers 2026-10-06 17:59:42 +02:00
remoteproc remoteproc: qcom_q6v5_pas: Fix error masking in qcom_pas_stop() 2026-08-31 11:45:00 -05:00
resctrl - Push down into arch code the rounding of bandwidth control user values due 2026-10-20 10:11:04 -10:00
reset Mostly the usual clk driver updates and new SoC additions plus non-critical 2026-08-26 11:14:30 -07:00
rpmsg
rtc rtc: spear: initialize IRQ state before requesting alarm IRQ 2026-09-21 22:46:42 +02:00
s390 s390 updates for 7.4 merge window 2026-10-20 14:28:32 -10:00
sbus
scsi xen: branch for v7.4-rc1 2026-10-20 14:33:15 -10:00
sh
siox
slimbus
soc Updates for interrupt chip drivers: 2026-10-21 11:16:50 -10:00
soundwire soundwire: cadence_master: wait and cancel cdns->work before clock stop 2026-09-08 19:19:42 +05:30
spi spi: spi-fsl-lpspi: directly return ret in fsl_lpspi_transfer_one() 2026-10-15 22:37:15 +01:00
spmi
ssb
staging tty: fix saved termios reset race 2026-10-01 11:05:17 +02:00
target scsi: target: iscsi: Fix race in discovery auth updates 2026-10-13 23:08:43 -04:00
tc
tee Reject zero-sized allocations in tee_dyn_shm_alloc_helper() 2026-10-03 23:33:02 +02:00
thermal thermal: gov_step_wise: Fix stale mitigation vote with non-zero lower bounds 2026-09-22 21:16:11 +02:00
thunderbolt thunderbolt: Fixes for v7.3-rc6 2026-10-01 13:26:31 +02:00
tty printk fixes for 7.3-rc7 2026-10-06 11:32:54 +02:00
ufs SCSI fixes on 20261018 2026-10-18 09:06:02 -10:00
uio uio: fsl_elbc_gpcm: use platform helpers for resource and IRQ 2026-07-31 14:21:01 +02:00
usb usb: mtu3: Fix a double-dereference splat in TP_printk 2026-10-08 06:36:57 +02:00
vdpa vdpa_sim: disable page faults around vringh_need_notify_iotlb() 2026-10-20 08:05:08 -10:00
vfio mm.git review status for mm-hotfixes-stable..mm-stable 2026-08-20 18:17:08 -07:00
vhost vhost: vringh: use get_user()/put_user() for IOTLB 16-bit accesses 2026-10-20 08:06:57 -10:00
video fbdev fixes for 7.3-rc3: 2026-09-12 08:06:04 -07:00
virt configfs: Updates for v7.4 2026-10-20 16:25:43 -10:00
virtio virtio_input: stop callbacks before unregistering input device 2026-09-07 18:54:04 -04:00
w1 1-Wire bus drivers for v7.3 2026-08-06 11:08:37 +02:00
watchdog watchdog: da9063: fix suspend/resume handling of HW_RUNNING watchdog 2026-09-18 08:10:45 -07:00
xen Merge __{get,put}_user() removal branch 2026-10-21 07:19:30 -10:00
zorro zorro: Use assign_bit() where applicable 2026-09-27 16:20:43 +02:00
Kconfig
Makefile