Commit 0bf7fcf1 authored by Christoph Lameter's avatar Christoph Lameter Committed by Tejun Heo

s390: cio driver &__get_cpu_var replacements

Use this_cpu_ptr() instead of &__get_cpu_var()
Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent eb7e7d76
...@@ -252,7 +252,7 @@ static void ccwreq_log_status(struct ccw_device *cdev, enum io_status status) ...@@ -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) 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; struct ccw_request *req = &cdev->private->req;
enum io_status status; enum io_status status;
int rc = -EOPNOTSUPP; int rc = -EOPNOTSUPP;
......
...@@ -58,7 +58,7 @@ static void chsc_subchannel_irq(struct subchannel *sch) ...@@ -58,7 +58,7 @@ static void chsc_subchannel_irq(struct subchannel *sch)
{ {
struct chsc_private *private = dev_get_drvdata(&sch->dev); struct chsc_private *private = dev_get_drvdata(&sch->dev);
struct chsc_request *request = private->request; 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(4, "irb");
CHSC_LOG_HEX(4, irb, sizeof(*irb)); CHSC_LOG_HEX(4, irb, sizeof(*irb));
......
...@@ -563,7 +563,7 @@ static irqreturn_t do_cio_interrupt(int irq, void *dummy) ...@@ -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) ...@@ -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) ...@@ -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;
} }
......
...@@ -739,7 +739,7 @@ ccw_device_irq(struct ccw_device *cdev, enum dev_event dev_event) ...@@ -739,7 +739,7 @@ ccw_device_irq(struct ccw_device *cdev, enum dev_event dev_event)
struct irb *irb; struct irb *irb;
int is_cmd; int is_cmd;
irb = &__get_cpu_var(cio_irb); irb = this_cpu_ptr(&cio_irb);
is_cmd = !scsw_is_tm(&irb->scsw); is_cmd = !scsw_is_tm(&irb->scsw);
/* Check for unsolicited interrupt. */ /* Check for unsolicited interrupt. */
if (!scsw_is_solicited(&irb->scsw)) { if (!scsw_is_solicited(&irb->scsw)) {
...@@ -805,7 +805,7 @@ ccw_device_w4sense(struct ccw_device *cdev, enum dev_event dev_event) ...@@ -805,7 +805,7 @@ ccw_device_w4sense(struct ccw_device *cdev, enum dev_event dev_event)
{ {
struct irb *irb; struct irb *irb;
irb = &__get_cpu_var(cio_irb); irb = this_cpu_ptr(&cio_irb);
/* Check for unsolicited interrupt. */ /* Check for unsolicited interrupt. */
if (scsw_stctl(&irb->scsw) == if (scsw_stctl(&irb->scsw) ==
(SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) {
......
...@@ -134,7 +134,7 @@ static void eadm_subchannel_irq(struct subchannel *sch) ...@@ -134,7 +134,7 @@ static void eadm_subchannel_irq(struct subchannel *sch)
{ {
struct eadm_private *private = get_eadm_private(sch); struct eadm_private *private = get_eadm_private(sch);
struct eadm_scsw *scsw = &sch->schib.scsw.eadm; 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; int error = 0;
EADM_LOG(6, "irq"); EADM_LOG(6, "irq");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment