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

Commit c9b1420c authored by Chase Southwood's avatar Chase Southwood Committed by Greg Kroah-Hartman
Browse files

staging: comedi: addi_apci_1564: remove use of devpriv->iobase



devpriv->iobase is currently being used to hold the iobase address used to
read/write the board's registers.  The same address is stored in the
comedi_device dev->iobase.  We use that instead.  The eventual goal is to
decrease the driver's use of the struct addi_private, so that it may
eventually use a much slimmer specialized private struct instead, as the
other addi_apci_* drivers do.

Signed-off-by: default avatarChase Southwood <chase.southwood@yahoo.com>
Reviewed-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3eb9992c
Loading
Loading
Loading
Loading
+39 −40
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@
#define APCI1564_TIMER_WARN_TIMEBASE_REG		0x64

/*
 * devpriv->iobase Register Map
 * dev>iobase Register Map
 */
#define APCI1564_TCW_REG(x)				(0x00 + ((x) * 0x20))
#define APCI1564_TCW_RELOAD_REG(x)			(0x04 + ((x) * 0x20))
@@ -239,13 +239,13 @@ static int apci1564_timer_config(struct comedi_device *dev,
			outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DO_IRQ_REG);
			outl(0x0, devpriv->i_IobaseAmcc + APCI1564_WDOG_IRQ_REG);
			outl(0x0,
				devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER1));
			     dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER1));
			outl(0x0,
				devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER2));
			     dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER2));
			outl(0x0,
				devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER3));
			     dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER3));
			outl(0x0,
				devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER4));
			     dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER4));
		} else {
			/* disable Timer interrupt */
			outl(0x0, devpriv->i_IobaseAmcc + APCI1564_TIMER_CTRL_REG);
@@ -266,13 +266,13 @@ static int apci1564_timer_config(struct comedi_device *dev,
		devpriv->b_ModeSelectRegister = data[5];

		/* First Stop The Counter */
		ul_Command1 = inl(devpriv->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));
		ul_Command1 = inl(dev->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));
		ul_Command1 = ul_Command1 & 0xFFFFF9FEUL;
		/* Stop The Timer */
		outl(ul_Command1, devpriv->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));
		outl(ul_Command1, dev->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));

		/* Set the reload value */
		outl(data[3], devpriv->iobase + APCI1564_TCW_RELOAD_REG(data[5] - 1));
		outl(data[3], dev->iobase + APCI1564_TCW_RELOAD_REG(data[5] - 1));

		/* Set the mode :             */
		/* - Disable the hardware     */
@@ -285,15 +285,15 @@ static int apci1564_timer_config(struct comedi_device *dev,
		ul_Command1 =
			(ul_Command1 & 0xFFFC19E2UL) | 0x80000UL |
			(unsigned int) ((unsigned int) data[4] << 16UL);
		outl(ul_Command1, devpriv->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));
		outl(ul_Command1, dev->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));

		/*  Enable or Disable Interrupt */
		ul_Command1 = (ul_Command1 & 0xFFFFF9FD) | (data[1] << 1);
		outl(ul_Command1, devpriv->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));
		outl(ul_Command1, dev->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));

		/* Set the Up/Down selection */
		ul_Command1 = (ul_Command1 & 0xFFFBF9FFUL) | (data[6] << 18);
		outl(ul_Command1, devpriv->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));
		outl(ul_Command1, dev->iobase + APCI1564_TCW_CTRL_REG(data[5] - 1));
	} else {
		dev_err(dev->class_dev, "Invalid subdevice.\n");
	}
@@ -349,7 +349,7 @@ static int apci1564_timer_write(struct comedi_device *dev,
	}
	if (devpriv->b_TimerSelectMode == ADDIDATA_COUNTER) {
		ul_Command1 =
			inl(devpriv->iobase +
			inl(dev->iobase +
			    APCI1564_TCW_CTRL_REG(devpriv->b_ModeSelectRegister - 1));
		if (data[1] == 1) {
			/* Start the Counter subdevice */
@@ -362,8 +362,7 @@ static int apci1564_timer_write(struct comedi_device *dev,
			/*  Clears the Counter subdevice */
			ul_Command1 = (ul_Command1 & 0xFFFFF9FFUL) | 0x400;
		}
		outl(ul_Command1,
			devpriv->iobase +
		outl(ul_Command1, dev->iobase +
		     APCI1564_TCW_CTRL_REG(devpriv->b_ModeSelectRegister - 1));
	}
	return insn->n;
@@ -393,10 +392,10 @@ static int apci1564_timer_read(struct comedi_device *dev,
	} else if (devpriv->b_TimerSelectMode == ADDIDATA_COUNTER) {
		/*  Read the Counter Actual Value. */
		data[0] =
			inl(devpriv->iobase +
			inl(dev->iobase +
			    APCI1564_TCW_REG(devpriv->b_ModeSelectRegister - 1));
		ul_Command1 =
			inl(devpriv->iobase +
			inl(dev->iobase +
			    APCI1564_TCW_STATUS_REG(devpriv->b_ModeSelectRegister - 1));

		/* Get the software trigger status */
@@ -446,13 +445,13 @@ static void apci1564_interrupt(int irq, void *d)
	ui_DO = inl(devpriv->i_IobaseAmcc + APCI1564_DO_IRQ_REG) & 0x01;
	ui_Timer = inl(devpriv->i_IobaseAmcc + APCI1564_TIMER_IRQ_REG) & 0x01;
	ui_C1 =
		inl(devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER1)) & 0x1;
		inl(dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER1)) & 0x1;
	ui_C2 =
		inl(devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER2)) & 0x1;
		inl(dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER2)) & 0x1;
	ui_C3 =
		inl(devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER3)) & 0x1;
		inl(dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER3)) & 0x1;
	ui_C4 =
		inl(devpriv->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER4)) & 0x1;
		inl(dev->iobase + APCI1564_TCW_IRQ_REG(APCI1564_COUNTER4)) & 0x1;
	if (ui_DI == 0 && ui_DO == 0 && ui_Timer == 0 && ui_C1 == 0
		&& ui_C2 == 0 && ui_C3 == 0 && ui_C4 == 0) {
		dev_err(dev->class_dev, "Interrupt from unknown source.\n");
@@ -506,16 +505,16 @@ static void apci1564_interrupt(int irq, void *d)

			/*  Disable Counter Interrupt */
			ul_Command2 =
				inl(devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));
				inl(dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));
			outl(0x0,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));

			/* Send a signal to from kernel to user space */
			send_sig(SIGIO, devpriv->tsk_Current, 0);

			/*  Enable Counter Interrupt */
			outl(ul_Command2,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));
		}
	}

@@ -525,16 +524,16 @@ static void apci1564_interrupt(int irq, void *d)

			/*  Disable Counter Interrupt */
			ul_Command2 =
				inl(devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));
				inl(dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));
			outl(0x0,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));

			/* Send a signal to from kernel to user space */
			send_sig(SIGIO, devpriv->tsk_Current, 0);

			/*  Enable Counter Interrupt */
			outl(ul_Command2,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));
		}
	}

@@ -544,16 +543,16 @@ static void apci1564_interrupt(int irq, void *d)

			/*  Disable Counter Interrupt */
			ul_Command2 =
				inl(devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));
				inl(dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));
			outl(0x0,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));

			/* Send a signal to from kernel to user space */
			send_sig(SIGIO, devpriv->tsk_Current, 0);

			/*  Enable Counter Interrupt */
			outl(ul_Command2,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));
		}
	}

@@ -563,16 +562,16 @@ static void apci1564_interrupt(int irq, void *d)

			/*  Disable Counter Interrupt */
			ul_Command2 =
				inl(devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));
				inl(dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));
			outl(0x0,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));

			/* Send a signal to from kernel to user space */
			send_sig(SIGIO, devpriv->tsk_Current, 0);

			/*  Enable Counter Interrupt */
			outl(ul_Command2,
			     devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));
			     dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));
		}
	}
	return;
@@ -599,9 +598,9 @@ static int apci1564_reset(struct comedi_device *dev)
	outl(0x0, devpriv->i_IobaseAmcc + APCI1564_TIMER_REG);
	outl(0x0, devpriv->i_IobaseAmcc + APCI1564_TIMER_CTRL_REG);

	outl(0x0, devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));
	outl(0x0, devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));
	outl(0x0, devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));
	outl(0x0, devpriv->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));
	outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1));
	outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2));
	outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3));
	outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4));
	return 0;
}