Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390: cio driver &__get_cpu_var replacements

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>

authored by

Christoph Lameter and committed by
Tejun Heo
0bf7fcf1 eb7e7d76

+8 -8
+1 -1
drivers/s390/cio/ccwreq.c
··· 252 252 */ 253 253 void ccw_request_handler(struct ccw_device *cdev) 254 254 { 255 - struct irb *irb = &__get_cpu_var(cio_irb); 255 + struct irb *irb = this_cpu_ptr(&cio_irb); 256 256 struct ccw_request *req = &cdev->private->req; 257 257 enum io_status status; 258 258 int rc = -EOPNOTSUPP;
+1 -1
drivers/s390/cio/chsc_sch.c
··· 58 58 { 59 59 struct chsc_private *private = dev_get_drvdata(&sch->dev); 60 60 struct chsc_request *request = private->request; 61 - struct irb *irb = &__get_cpu_var(cio_irb); 61 + struct irb *irb = this_cpu_ptr(&cio_irb); 62 62 63 63 CHSC_LOG(4, "irb"); 64 64 CHSC_LOG_HEX(4, irb, sizeof(*irb));
+3 -3
drivers/s390/cio/cio.c
··· 563 563 564 564 __this_cpu_write(s390_idle.nohz_delay, 1); 565 565 tpi_info = (struct tpi_info *) &get_irq_regs()->int_code; 566 - irb = &__get_cpu_var(cio_irb); 566 + irb = this_cpu_ptr(&cio_irb); 567 567 sch = (struct subchannel *)(unsigned long) tpi_info->intparm; 568 568 if (!sch) { 569 569 /* Clear pending interrupt condition. */ ··· 613 613 struct irb *irb; 614 614 int irq_context; 615 615 616 - irb = &__get_cpu_var(cio_irb); 616 + irb = this_cpu_ptr(&cio_irb); 617 617 /* Store interrupt response block to lowcore. */ 618 618 if (tsch(sch->schid, irb) != 0) 619 619 /* Not status pending or not operational. */ ··· 751 751 struct tpi_info ti; 752 752 753 753 if (tpi(&ti)) { 754 - tsch(ti.schid, &__get_cpu_var(cio_irb)); 754 + tsch(ti.schid, this_cpu_ptr(&cio_irb)); 755 755 if (schid_equal(&ti.schid, &schid)) 756 756 return 0; 757 757 }
+2 -2
drivers/s390/cio/device_fsm.c
··· 739 739 struct irb *irb; 740 740 int is_cmd; 741 741 742 - irb = &__get_cpu_var(cio_irb); 742 + irb = this_cpu_ptr(&cio_irb); 743 743 is_cmd = !scsw_is_tm(&irb->scsw); 744 744 /* Check for unsolicited interrupt. */ 745 745 if (!scsw_is_solicited(&irb->scsw)) { ··· 805 805 { 806 806 struct irb *irb; 807 807 808 - irb = &__get_cpu_var(cio_irb); 808 + irb = this_cpu_ptr(&cio_irb); 809 809 /* Check for unsolicited interrupt. */ 810 810 if (scsw_stctl(&irb->scsw) == 811 811 (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) {
+1 -1
drivers/s390/cio/eadm_sch.c
··· 134 134 { 135 135 struct eadm_private *private = get_eadm_private(sch); 136 136 struct eadm_scsw *scsw = &sch->schib.scsw.eadm; 137 - struct irb *irb = &__get_cpu_var(cio_irb); 137 + struct irb *irb = this_cpu_ptr(&cio_irb); 138 138 int error = 0; 139 139 140 140 EADM_LOG(6, "irq");