|
@@ -563,7 +563,7 @@ static irqreturn_t do_cio_interrupt(int irq, void *dummy)
|
|
|
|
|
|
__this_cpu_write(s390_idle.nohz_delay, 1);
|
|
__this_cpu_write(s390_idle.nohz_delay, 1);
|
|
tpi_info = (struct tpi_info *) &get_irq_regs()->int_code;
|
|
tpi_info = (struct tpi_info *) &get_irq_regs()->int_code;
|
|
- irb = &__get_cpu_var(cio_irb);
|
|
|
|
|
|
+ irb = this_cpu_ptr(&cio_irb);
|
|
sch = (struct subchannel *)(unsigned long) tpi_info->intparm;
|
|
sch = (struct subchannel *)(unsigned long) tpi_info->intparm;
|
|
if (!sch) {
|
|
if (!sch) {
|
|
/* Clear pending interrupt condition. */
|
|
/* Clear pending interrupt condition. */
|
|
@@ -613,7 +613,7 @@ void cio_tsch(struct subchannel *sch)
|
|
struct irb *irb;
|
|
struct irb *irb;
|
|
int irq_context;
|
|
int irq_context;
|
|
|
|
|
|
- irb = &__get_cpu_var(cio_irb);
|
|
|
|
|
|
+ irb = this_cpu_ptr(&cio_irb);
|
|
/* Store interrupt response block to lowcore. */
|
|
/* Store interrupt response block to lowcore. */
|
|
if (tsch(sch->schid, irb) != 0)
|
|
if (tsch(sch->schid, irb) != 0)
|
|
/* Not status pending or not operational. */
|
|
/* Not status pending or not operational. */
|
|
@@ -751,7 +751,7 @@ __clear_io_subchannel_easy(struct subchannel_id schid)
|
|
struct tpi_info ti;
|
|
struct tpi_info ti;
|
|
|
|
|
|
if (tpi(&ti)) {
|
|
if (tpi(&ti)) {
|
|
- tsch(ti.schid, &__get_cpu_var(cio_irb));
|
|
|
|
|
|
+ tsch(ti.schid, this_cpu_ptr(&cio_irb));
|
|
if (schid_equal(&ti.schid, &schid))
|
|
if (schid_equal(&ti.schid, &schid))
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|