staging: comedi: das1800: remove 'thisboard' macro
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Sat, 6 Apr 2013 00:35:22 +0000 (17:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Apr 2013 17:29:58 +0000 (10:29 -0700)
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 <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/das1800.c

index 5a99d5b..1e90287 100644 (file)
@@ -429,11 +429,6 @@ static const struct das1800_board das1800_boards[] = {
         },
 };
 
-/*
- * Useful for shorthand access to the particular board structure
- */
-#define thisboard ((const struct das1800_board *)dev->board_ptr)
-
 struct das1800_private {
        volatile unsigned int count;    /* number of data points left to be taken */
        unsigned int divisor1;  /* value to load into board's counter 1 for timed conversions */
@@ -468,6 +463,8 @@ static const struct comedi_lrange range_ao_2 = {
 static inline uint16_t munge_bipolar_sample(const struct comedi_device *dev,
                                            uint16_t sample)
 {
+       const struct das1800_board *thisboard = comedi_board(dev);
+
        sample += 1 << (thisboard->resolution - 1);
        return sample;
 }
@@ -781,6 +778,7 @@ static int das1800_ai_do_cmdtest(struct comedi_device *dev,
                                 struct comedi_subdevice *s,
                                 struct comedi_cmd *cmd)
 {
+       const struct das1800_board *thisboard = comedi_board(dev);
        struct das1800_private *devpriv = dev->private;
        int err = 0;
        unsigned int tmp_arg;
@@ -1224,6 +1222,7 @@ static int das1800_ai_rinsn(struct comedi_device *dev,
                            struct comedi_subdevice *s,
                            struct comedi_insn *insn, unsigned int *data)
 {
+       const struct das1800_board *thisboard = comedi_board(dev);
        int i, n;
        int chan, range, aref, chan_range;
        int timeout = 1000;
@@ -1287,6 +1286,7 @@ static int das1800_ao_winsn(struct comedi_device *dev,
                            struct comedi_subdevice *s,
                            struct comedi_insn *insn, unsigned int *data)
 {
+       const struct das1800_board *thisboard = comedi_board(dev);
        struct das1800_private *devpriv = dev->private;
        int chan = CR_CHAN(insn->chanspec);
 /* int range = CR_RANGE(insn->chanspec); */
@@ -1508,6 +1508,7 @@ static int das1800_probe(struct comedi_device *dev)
 static int das1800_attach(struct comedi_device *dev,
                          struct comedi_devconfig *it)
 {
+       const struct das1800_board *thisboard = comedi_board(dev);
        struct das1800_private *devpriv;
        struct comedi_subdevice *s;
        unsigned long iobase = it->options[0];
@@ -1556,6 +1557,7 @@ static int das1800_attach(struct comedi_device *dev,
        }
 
        dev->board_ptr = das1800_boards + board;
+       thisboard = comedi_board(dev);
        dev->board_name = thisboard->name;
 
        /*  if it is an 'ao' board with fancy analog out then we need extra io ports */