Use this_cpu_ptr() instead of &__get_cpu_var() Signed-off-by: Christoph Lameter Index: linux/drivers/s390/cio/ccwreq.c =================================================================== --- linux.orig/drivers/s390/cio/ccwreq.c 2014-06-16 09:51:31.857301254 -0500 +++ linux/drivers/s390/cio/ccwreq.c 2014-06-16 09:51:31.853301332 -0500 @@ -252,7 +252,7 @@ */ void ccw_request_handler(struct ccw_device *cdev) { - struct irb *irb = &__get_cpu_var(cio_irb); + struct irb *irb = this_cpu_ptr(cio_irb); struct ccw_request *req = &cdev->private->req; enum io_status status; int rc = -EOPNOTSUPP; Index: linux/drivers/s390/cio/chsc_sch.c =================================================================== --- linux.orig/drivers/s390/cio/chsc_sch.c 2014-06-16 09:51:31.857301254 -0500 +++ linux/drivers/s390/cio/chsc_sch.c 2014-06-16 09:51:31.857301254 -0500 @@ -58,7 +58,7 @@ { struct chsc_private *private = dev_get_drvdata(&sch->dev); struct chsc_request *request = private->request; - struct irb *irb = &__get_cpu_var(cio_irb); + struct irb *irb = this_cpu_ptr(cio_irb); CHSC_LOG(4, "irb"); CHSC_LOG_HEX(4, irb, sizeof(*irb)); Index: linux/drivers/s390/cio/cio.c =================================================================== --- linux.orig/drivers/s390/cio/cio.c 2014-06-16 09:51:31.857301254 -0500 +++ linux/drivers/s390/cio/cio.c 2014-06-16 09:51:31.857301254 -0500 @@ -563,7 +563,7 @@ __this_cpu_write(s390_idle.nohz_delay, 1); 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; if (!sch) { /* Clear pending interrupt condition. */ @@ -612,7 +612,7 @@ struct irb *irb; int irq_context; - irb = &__get_cpu_var(cio_irb); + irb = this_cpu_ptr(cio_irb); /* Store interrupt response block to lowcore. */ if (tsch(sch->schid, irb) != 0) /* Not status pending or not operational. */ @@ -749,7 +749,7 @@ struct tpi_info 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)) return 0; } Index: linux/drivers/s390/cio/device_fsm.c =================================================================== --- linux.orig/drivers/s390/cio/device_fsm.c 2014-06-16 09:51:31.857301254 -0500 +++ linux/drivers/s390/cio/device_fsm.c 2014-06-16 09:51:31.857301254 -0500 @@ -739,7 +739,7 @@ struct irb *irb; int is_cmd; - irb = &__get_cpu_var(cio_irb); + irb = this_cpu_ptr(cio_irb); is_cmd = !scsw_is_tm(&irb->scsw); /* Check for unsolicited interrupt. */ if (!scsw_is_solicited(&irb->scsw)) { @@ -805,7 +805,7 @@ { struct irb *irb; - irb = &__get_cpu_var(cio_irb); + irb = this_cpu_ptr(cio_irb); /* Check for unsolicited interrupt. */ if (scsw_stctl(&irb->scsw) == (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { Index: linux/drivers/s390/cio/eadm_sch.c =================================================================== --- linux.orig/drivers/s390/cio/eadm_sch.c 2014-06-16 09:51:31.857301254 -0500 +++ linux/drivers/s390/cio/eadm_sch.c 2014-06-16 09:51:31.857301254 -0500 @@ -134,7 +134,7 @@ { struct eadm_private *private = get_eadm_private(sch); struct eadm_scsw *scsw = &sch->schib.scsw.eadm; - struct irb *irb = &__get_cpu_var(cio_irb); + struct irb *irb = this_cpu_ptr(cio_irb); int error = 0; EADM_LOG(6, "irq"); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/