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: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
committed by
Vasily Gorbik
parent
998e78004f
commit
7d8484c415
@@ -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 *) ®s->int_code;
|
||||
ext_code.int_code = regs->int_code;
|
||||
if (ext_code.code != EXT_IRQ_CLK_COMP)
|
||||
set_cpu_flag(CIF_NOHZ_DELAY);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user