Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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));
+3 −3
Original line number Diff line number Diff line
@@ -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;
		}
+2 −2
Original line number Diff line number Diff line
@@ -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)) {
+1 −1
Original line number Diff line number Diff line
@@ -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");