Subject: [PATCH 22/31] s390: cio driver &__get_cpu_var replacements

Use this_cpu_ptr() instead of &__get_cpu_var()

Signed-off-by: Christoph Lameter <[email protected]>

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");


2014-07-18 23:32:35

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH 22/31] s390: cio driver &__get_cpu_var replacements

Applied to wq/for-3.17-consistent-ops. If this patch should be routed
differently, please holler.

Thanks.

--
tejun