summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/ctlreg.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/ctlreg.c')
-rw-r--r--arch/s390/kernel/ctlreg.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/s390/kernel/ctlreg.c b/arch/s390/kernel/ctlreg.c
index 1c9fee1ca4a3..14f715bc5f73 100644
--- a/arch/s390/kernel/ctlreg.c
+++ b/arch/s390/kernel/ctlreg.c
@@ -36,11 +36,11 @@ struct ctl_bit_parms {
static void ctl_bit_callback(void *info)
{
struct ctl_bit_parms *pp = info;
- unsigned long regs[16];
+ struct ctlreg regs[16];
__local_ctl_store(0, 15, regs);
- regs[pp->cr] &= pp->andval;
- regs[pp->cr] |= pp->orval;
+ regs[pp->cr].val &= pp->andval;
+ regs[pp->cr].val |= pp->orval;
__local_ctl_load(0, 15, regs);
}
@@ -53,8 +53,8 @@ void system_ctl_set_clear_bit(unsigned int cr, unsigned int bit, bool set)
pp.andval = set ? -1UL : ~(1UL << bit);
system_ctlreg_lock();
abs_lc = get_abs_lowcore();
- abs_lc->cregs_save_area[cr] &= pp.andval;
- abs_lc->cregs_save_area[cr] |= pp.orval;
+ abs_lc->cregs_save_area[cr].val &= pp.andval;
+ abs_lc->cregs_save_area[cr].val |= pp.orval;
put_abs_lowcore(abs_lc);
on_each_cpu(ctl_bit_callback, &pp, 1);
system_ctlreg_unlock();