From 2d2111ea2cf25cc60f7027130ceb34af2d03745d Mon Sep 17 00:00:00 2001
From: H Hartley Sweeten <hartleys@visionengravers.com>
Date: Tue, 1 May 2012 17:03:48 -0700
Subject: [PATCH] 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: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/pcmda12.c | 6 +++---
 drivers/staging/comedi/drivers/pcmmio.c  | 7 ++++---
 drivers/staging/comedi/drivers/pcmuio.c  | 6 +++---
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/comedi/drivers/pcmda12.c b/drivers/staging/comedi/drivers/pcmda12.c
index 4846d984fb4eb..a82b343755fc9 100644
--- a/drivers/staging/comedi/drivers/pcmda12.c
+++ b/drivers/staging/comedi/drivers/pcmda12.c
@@ -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;
diff --git a/drivers/staging/comedi/drivers/pcmmio.c b/drivers/staging/comedi/drivers/pcmmio.c
index d7f98d575f45f..9ee1da531b615 100644
--- a/drivers/staging/comedi/drivers/pcmmio.c
+++ b/drivers/staging/comedi/drivers/pcmmio.c
@@ -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);
 
diff --git a/drivers/staging/comedi/drivers/pcmuio.c b/drivers/staging/comedi/drivers/pcmuio.c
index de4f4865bef17..47a3ee6e405c4 100644
--- a/drivers/staging/comedi/drivers/pcmuio.c
+++ b/drivers/staging/comedi/drivers/pcmuio.c
@@ -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);
 
-- 
GitLab