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

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

staging: comedi: fix build errors caused by module_init/module_exit refactor



A couple build errors were introduced with the module_init/module_exit
refactor.

The struct comedi_driver variable was being accessed directly in the
attach and detach routines. Instead of doing this, access the variable
indirectly using the driver pointer in struct comedi_device.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d2102677
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -172,10 +172,10 @@ static int pcmda12_attach(struct comedi_device *dev,

	iobase = it->options[0];
	printk(KERN_INFO
	       "comedi%d: %s: io: %lx %s ", dev->minor, driver.driver_name,
	       "comedi%d: %s: io: %lx %s ", dev->minor, dev->driver->driver_name,
	       iobase, it->options[1] ? "simultaneous xfer mode enabled" : "");

	if (!request_region(iobase, IOSIZE, driver.driver_name)) {
	if (!request_region(iobase, IOSIZE, dev->driver->driver_name)) {
		printk("I/O port conflict\n");
		return -EIO;
	}
@@ -230,7 +230,7 @@ static int pcmda12_attach(struct comedi_device *dev,
static int pcmda12_detach(struct comedi_device *dev)
{
	printk(KERN_INFO
	       "comedi%d: %s: remove\n", dev->minor, driver.driver_name);
	       "comedi%d: %s: remove\n", dev->minor, dev->driver->driver_name);
	if (dev->iobase)
		release_region(dev->iobase, IOSIZE);
	return 0;
+4 −3
Original line number Diff line number Diff line
@@ -1022,13 +1022,13 @@ static int pcmmio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
	irq[0] = it->options[1];

	printk(KERN_INFO "comedi%d: %s: io: %lx attaching...\n", dev->minor,
			driver.driver_name, iobase);
			dev->driver->driver_name, iobase);

	dev->iobase = iobase;

	if (!iobase || !request_region(iobase,
				       thisboard->total_iosize,
				       driver.driver_name)) {
				       dev->driver->driver_name)) {
		printk(KERN_ERR "comedi%d: I/O port conflict\n", dev->minor);
		return -EIO;
	}
@@ -1227,7 +1227,8 @@ static int pcmmio_detach(struct comedi_device *dev)
{
	int i;

	printk(KERN_INFO "comedi%d: %s: remove\n", dev->minor, driver.driver_name);
	printk(KERN_INFO "comedi%d: %s: remove\n", dev->minor,
		dev->driver->driver_name);
	if (dev->iobase)
		release_region(dev->iobase, thisboard->total_iosize);

+3 −3
Original line number Diff line number Diff line
@@ -757,13 +757,13 @@ static int pcmuio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
	irq[1] = it->options[2];

	dev_dbg(dev->hw_dev, "comedi%d: %s: io: %lx attached\n", dev->minor,
		driver.driver_name, iobase);
		dev->driver->driver_name, iobase);

	dev->iobase = iobase;

	if (!iobase || !request_region(iobase,
				       thisboard->num_asics * ASIC_IOSIZE,
				       driver.driver_name)) {
				       dev->driver->driver_name)) {
		dev_err(dev->hw_dev, "I/O port conflict\n");
		return -EIO;
	}
@@ -913,7 +913,7 @@ static int pcmuio_detach(struct comedi_device *dev)
	int i;

	dev_dbg(dev->hw_dev, "comedi%d: %s: remove\n", dev->minor,
		driver.driver_name);
		dev->driver->driver_name);
	if (dev->iobase)
		release_region(dev->iobase, ASIC_IOSIZE * thisboard->num_asics);