linux/kernel/irq
Thomas Gleixner 9b305678c5 genirq/migration: Use irqd_get_parent_data() in irq_force_complete_move()
Frank reported, that the common irq_force_complete_move() breaks the out of
tree build of ia64. The reason is that ia64 uses the migration code, but
does not have hierarchical interrupt domains enabled.

This went unnoticed in mainline as both x86 and RISC-V have hierarchical
domains enabled. Not that it matters for mainline, but it's still
inconsistent.

Use irqd_get_parent_data() instead of accessing the parent_data field
directly. The helper returns NULL when hierarchical domains are disabled
otherwise it accesses the parent_data field of the domain.

No functional change.

Fixes: 751dc837da ("genirq: Introduce common irq_force_complete_move() implementation")
Reported-by: Frank Scheiner <frank.scheiner@web.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Frank Scheiner <frank.scheiner@web.de>
Link: https://lore.kernel.org/all/87h634ugig.ffs@tglx
2025-04-04 17:08:36 +02:00
..
Kconfig powerpc updates for 6.15 2025-03-27 19:39:08 -07:00
Makefile kexec: Consolidate machine_kexec_mask_interrupts() implementation 2024-12-11 20:32:34 +01:00
affinity.c genirq/affinity: Move group_cpus_evenly() into lib/ 2023-01-17 18:50:06 +01:00
autoprobe.c
chip.c powerpc updates for 6.15 2025-03-27 19:39:08 -07:00
cpuhotplug.c genirq/cpuhotplug: Use cpumask_intersects() 2024-09-06 16:28:39 +02:00
debug.h
debugfs.c genirq: Remove IRQ_MOVE_PCNTXT and related code 2025-01-15 21:38:53 +01:00
devres.c genirq/devres: Don't free interrupt which is not managed by devres 2024-10-24 11:20:06 +02:00
dummychip.c irq: Fix typos in comments 2021-03-22 04:23:14 +01:00
generic-chip.c genirq/generic_chip: Export irq_gc_mask_disable_and_ack_set() 2025-01-16 09:10:17 +01:00
handle.c irq: remove unused flags argument from __handle_irq_event_percpu() 2022-01-07 00:25:25 +01:00
internals.h Updates for interrupt chip drivers: 2025-03-25 09:54:36 -07:00
ipi-mux.c genirq/ipi-mux: Use irq_domain_alloc_irqs() 2023-02-06 17:21:15 +00:00
ipi.c genirq/ipi: Fix NULL pointer deref in irq_data_get_affinity_mask() 2023-02-20 13:53:41 +01:00
irq_sim.c genirq/irq_sim: Remove unused irq_sim_work_ctx:: Irq_base 2024-08-08 17:15:01 +02:00
irqdesc.c genirq: Make a few functions static 2025-03-10 10:01:20 +01:00
irqdomain.c irqdomain: Rename irq_get_default_host() to irq_get_default_domain() 2025-04-04 16:39:10 +02:00
kexec.c genirq/kexec: Prevent redundant IRQ masking by checking state before shutdown 2024-12-11 20:32:34 +01:00
manage.c genirq: Make a few functions static 2025-03-10 10:01:20 +01:00
matrix.c genirq/matrix: Dynamic bitmap allocation 2024-02-23 10:18:44 +01:00
migration.c genirq/migration: Use irqd_get_parent_data() in irq_force_complete_move() 2025-04-04 17:08:36 +02:00
msi.c Revert "Merge tag 'irq-msi-2025-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip" 2025-03-28 11:22:54 -07:00
pm.c genirq/PM: Unexport {suspend,resume}_device_irqs() 2022-06-13 12:27:37 +02:00
proc.c genirq/proc: Add missing space separator back 2024-12-03 14:59:34 +01:00
resend.c genirq: Remove handle_enforce_irqctx() wrapper 2025-01-15 10:56:22 +01:00
settings.h genirq: Remove IRQ_MOVE_PCNTXT and related code 2025-01-15 21:38:53 +01:00
spurious.c genirq: Disable irqfixup/poll on PREEMPT_RT. 2021-09-19 23:01:15 +02:00
timings.c genirq/timings: Add kernel-doc for a function parameter 2025-01-15 21:38:53 +01:00