Commit 569d138f authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: pcl818: remove pcl818_check()



This function is a _very_ simplified probe that tried to verify that
the driver is being attached to a PCL-818 compatible board. The function
simply writes some values to specific registers then reads back the
values to see if they are the same.

It's possible that the user could try to attach this driver to a non-
compatible board but the check would still pass depending on the register
map of the board.

Just remove the buggy function to simplify the attach a bit.

Signed-off-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 3b84e790
Loading
Loading
Loading
Loading
+0 −28
Original line number Diff line number Diff line
@@ -1168,30 +1168,6 @@ static void pcl818_set_ai_range_table(struct comedi_device *dev,
	}
}

static int pcl818_check(struct comedi_device *dev)
{
	/* the MUX register should return the same value written */
	outb(0x00, dev->iobase + PCL818_MUX);
	if (inb(dev->iobase + PCL818_MUX) != 0x00)
		return -ENODEV;
	outb(0x55, dev->iobase + PCL818_MUX);
	if (inb(dev->iobase + PCL818_MUX) != 0x55)
		return -ENODEV;

	/* reset the MUX register to a known state */
	outb(0x00, dev->iobase + PCL818_MUX);

	/* the CONTROL register should return the same value written */
	outb(0x18, dev->iobase + PCL818_CONTROL);
	if (inb(dev->iobase + PCL818_CONTROL) != 0x18)
		return -ENODEV;

	/* reset the CONTROL register to a known state */
	outb(0x00, dev->iobase + PCL818_CONTROL);

	return 0;
}

static int pcl818_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{
	const struct pcl818_board *board = comedi_board(dev);
@@ -1213,10 +1189,6 @@ static int pcl818_attach(struct comedi_device *dev, struct comedi_devconfig *it)
	if (ret)
		return ret;

	ret = pcl818_check(dev);
	if (ret)
		return ret;

	/* we can use IRQ 2-7 for async command support */
	if (it->options[1] >= 2 && it->options[1] <= 7) {
		ret = request_irq(it->options[1], interrupt_pcl818, 0,