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: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Will Deacon <will@kernel.org> Link: https://patch.msgid.link/20251020122944.3074811-13-maz@kernel.orgpull/1354/merge
parent
5ff78c8de9
commit
5c2b2cc472
|
|
@ -121,8 +121,10 @@ typedef irqreturn_t (*irq_handler_t)(int, void *);
|
|||
*/
|
||||
struct irqaction {
|
||||
irq_handler_t handler;
|
||||
void *dev_id;
|
||||
void __percpu *percpu_dev_id;
|
||||
union {
|
||||
void *dev_id;
|
||||
void __percpu *percpu_dev_id;
|
||||
};
|
||||
struct irqaction *next;
|
||||
irq_handler_t thread_fn;
|
||||
struct task_struct *thread;
|
||||
|
|
|
|||
Loading…
Reference in New Issue