s390: cio driver &__get_cpu_var replacements
authorChristoph Lameter <cl@linux.com>
Sun, 17 Aug 2014 17:30:46 +0000 (12:30 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 26 Aug 2014 17:45:52 +0000 (13:45 -0400)
Use this_cpu_ptr() instead of &__get_cpu_var()

Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/s390/cio/ccwreq.c
drivers/s390/cio/chsc_sch.c
drivers/s390/cio/cio.c
drivers/s390/cio/device_fsm.c
drivers/s390/cio/eadm_sch.c

index 07676c2..79f5991 100644 (file)
@@ -252,7 +252,7 @@ static void ccwreq_log_status(struct ccw_device *cdev, enum io_status status)
  */
 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 3d22d2a..213159d 100644 (file)
@@ -58,7 +58,7 @@ static void chsc_subchannel_irq(struct subchannel *sch)
 {
        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 2905d8b..dacdaaa 100644 (file)
@@ -563,7 +563,7 @@ static irqreturn_t do_cio_interrupt(int irq, void *dummy)
 
        __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. */
@@ -613,7 +613,7 @@ void cio_tsch(struct subchannel *sch)
        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. */
@@ -751,7 +751,7 @@ __clear_io_subchannel_easy(struct subchannel_id schid)
                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 0bc902b..83da53c 100644 (file)
@@ -739,7 +739,7 @@ ccw_device_irq(struct ccw_device *cdev, enum dev_event dev_event)
        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 @@ ccw_device_w4sense(struct ccw_device *cdev, enum dev_event dev_event)
 {
        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 c4f7bf3..37f0834 100644 (file)
@@ -134,7 +134,7 @@ static void eadm_subchannel_irq(struct subchannel *sch)
 {
        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");