[PATCH 2/5] staging: comedi: das800: remove 'thisboard' macro
H Hartley Sweeten
hsweeten at visionengravers.com
Sat Apr 6 00:35:44 UTC 2013
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 at visionengravers.com>
Cc: Ian Abbott <abbotti at mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh at 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
More information about the devel
mailing list