Commit 5c2b2cc4 authored by Marc Zyngier's avatar Marc Zyngier Committed by Thomas Gleixner
Browse files

genirq: Merge irqaction::{dev_id,percpu_dev_id}



When irqaction::percpu_dev_id was introduced, it was hoped that it could be
part of an anonymous union with dev_id, as the two fields are mutually
exclusive.

However, toolchains used at the time were often showing terrible support
for anonymous unions, breaking the build on a number of architectures. It
was therefore decided to keep the two fields separate and address this down
the line.

14 years later, the compiler dark age is over, and there is universal
support for anonymous unions. Get a whole pointer back that can immediately
be spent on something else.

Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarWill Deacon <will@kernel.org>
Link: https://patch.msgid.link/20251020122944.3074811-13-maz@kernel.org
parent 5ff78c8d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -121,8 +121,10 @@ typedef irqreturn_t (*irq_handler_t)(int, void *);
 */
struct irqaction {
	irq_handler_t		handler;
	union {
		void		*dev_id;
		void __percpu	*percpu_dev_id;
	};
	struct irqaction	*next;
	irq_handler_t		thread_fn;
	struct task_struct	*thread;