Commit 7d8484c4 authored by Heiko Carstens's avatar Heiko Carstens Committed by Vasily Gorbik

s390/irq: use assignment instead of cast

Change struct ext_code to contain a union which allows to simply
assign the int_code instead of using a cast.

In order to keep the patch small the anonymous union is embedded
within the existing struct instead of changing the struct ext_code to
a union.
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent 998e7800
......@@ -81,8 +81,13 @@ static __always_inline void inc_irq_stat(enum interruption_class irq)
}
struct ext_code {
unsigned short subcode;
unsigned short code;
union {
struct {
unsigned short subcode;
unsigned short code;
};
unsigned int int_code;
};
};
typedef void (*ext_int_handler_t)(struct ext_code, unsigned int, unsigned long);
......
......@@ -342,7 +342,7 @@ static irqreturn_t do_ext_interrupt(int irq, void *dummy)
struct ext_int_info *p;
int index;
ext_code = *(struct ext_code *) &regs->int_code;
ext_code.int_code = regs->int_code;
if (ext_code.code != EXT_IRQ_CLK_COMP)
set_cpu_flag(CIF_NOHZ_DELAY);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment