The 'thisboard' macro relies on a local variable having a specific
name and yields a pointer derived from that local variable.

Replace the macro with local variables and use the comedi_board()
helper to get the pointer.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfondation.org>
---
 drivers/staging/comedi/drivers/das800.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/comedi/drivers/das800.c 
b/drivers/staging/comedi/drivers/das800.c
index 38f625b..a8c8a13 100644
--- a/drivers/staging/comedi/drivers/das800.c
+++ b/drivers/staging/comedi/drivers/das800.c
@@ -228,11 +228,6 @@ static const struct das800_board das800_boards[] = {
         },
 };
 
-/*
- * Useful for shorthand access to the particular board structure
- */
-#define thisboard ((const struct das800_board *)dev->board_ptr)
-
 struct das800_private {
        volatile unsigned int count;    /* number of data points left to be 
taken */
        volatile int forever;   /* flag indicating whether we should take data 
forever */
@@ -279,6 +274,7 @@ static int das800_set_frequency(struct comedi_device *dev);
 /* checks and probes das-800 series board type */
 static int das800_probe(struct comedi_device *dev)
 {
+       const struct das800_board *thisboard = comedi_board(dev);
        int id_bits;
        unsigned long irq_flags;
        int board;
@@ -350,6 +346,7 @@ static irqreturn_t das800_interrupt(int irq, void *d)
        short i;                /* loop index */
        short dataPoint = 0;
        struct comedi_device *dev = d;
+       const struct das800_board *thisboard = comedi_board(dev);
        struct das800_private *devpriv = dev->private;
        struct comedi_subdevice *s = dev->read_subdev;  /* analog input 
subdevice */
        struct comedi_async *async;
@@ -445,6 +442,7 @@ static irqreturn_t das800_interrupt(int irq, void *d)
 
 static int das800_attach(struct comedi_device *dev, struct comedi_devconfig 
*it)
 {
+       const struct das800_board *thisboard = comedi_board(dev);
        struct das800_private *devpriv;
        struct comedi_subdevice *s;
        unsigned long iobase = it->options[0];
@@ -481,6 +479,7 @@ static int das800_attach(struct comedi_device *dev, struct 
comedi_devconfig *it)
                return -ENODEV;
        }
        dev->board_ptr = das800_boards + board;
+       thisboard = comedi_board(dev);
 
        /* grab our IRQ */
        if (irq == 1 || irq > 7) {
@@ -566,6 +565,7 @@ static int das800_cancel(struct comedi_device *dev, struct 
comedi_subdevice *s)
 /* enable_das800 makes the card start taking hardware triggered conversions */
 static void enable_das800(struct comedi_device *dev)
 {
+       const struct das800_board *thisboard = comedi_board(dev);
        struct das800_private *devpriv = dev->private;
        unsigned long irq_flags;
 
@@ -594,6 +594,7 @@ static int das800_ai_do_cmdtest(struct comedi_device *dev,
                                struct comedi_subdevice *s,
                                struct comedi_cmd *cmd)
 {
+       const struct das800_board *thisboard = comedi_board(dev);
        struct das800_private *devpriv = dev->private;
        int err = 0;
        int tmp;
@@ -685,6 +686,7 @@ static int das800_ai_do_cmdtest(struct comedi_device *dev,
 static int das800_ai_do_cmd(struct comedi_device *dev,
                            struct comedi_subdevice *s)
 {
+       const struct das800_board *thisboard = comedi_board(dev);
        struct das800_private *devpriv = dev->private;
        int startChan, endChan, scan, gain;
        int conv_bits;
@@ -769,6 +771,7 @@ static int das800_ai_rinsn(struct comedi_device *dev,
                           struct comedi_subdevice *s, struct comedi_insn *insn,
                           unsigned int *data)
 {
+       const struct das800_board *thisboard = comedi_board(dev);
        struct das800_private *devpriv = dev->private;
        int i, n;
        int chan;
-- 
1.8.1.4

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to