staging: comedi: ni_atmio: cleanup ni_getboardtype()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Thu, 18 Jun 2015 17:54:58 +0000 (10:54 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Jun 2015 04:19:04 +0000 (21:19 -0700)
Make this function return a pointer to the boardinfo instead of an index.

For aesthetics, rename the function to ni_atmio_probe().

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/ni_atmio.c

index 1304b06..95435b8 100644 (file)
@@ -274,14 +274,16 @@ static int ni_isapnp_find_board(struct pnp_dev **dev)
        return 0;
 }
 
-static int ni_getboardtype(struct comedi_device *dev)
+static const struct ni_board_struct *ni_atmio_probe(struct comedi_device *dev)
 {
        int device_id = ni_read_eeprom(dev, 511);
        int i;
 
        for (i = 0; i < ARRAY_SIZE(ni_boards); i++) {
-               if (ni_boards[i].device_id == device_id)
-                       return i;
+               const struct ni_board_struct *board = &ni_boards[i];
+
+               if (board->device_id == device_id)
+                       return board;
        }
        if (device_id == 255)
                dev_err(dev->class_dev, "can't find board\n");
@@ -292,17 +294,16 @@ static int ni_getboardtype(struct comedi_device *dev)
                dev_err(dev->class_dev,
                        "unknown device ID %d -- contact author\n", device_id);
 
-       return -1;
+       return NULL;
 }
 
 static int ni_atmio_attach(struct comedi_device *dev,
                           struct comedi_devconfig *it)
 {
-       const struct ni_board_struct *boardtype;
+       const struct ni_board_struct *board;
        struct pnp_dev *isapnp_dev;
        int ret;
        unsigned long iobase;
-       int board;
        unsigned int irq;
 
        ret = ni_alloc_private(dev);
@@ -326,15 +327,11 @@ static int ni_atmio_attach(struct comedi_device *dev,
        if (ret)
                return ret;
 
-       /* get board type */
-
-       board = ni_getboardtype(dev);
-       if (board < 0)
-               return -EIO;
-
-       dev->board_ptr = ni_boards + board;
-       boardtype = dev->board_ptr;
-       dev->board_name = boardtype->name;
+       board = ni_atmio_probe(dev);
+       if (!board)
+               return -ENODEV;
+       dev->board_ptr = board;
+       dev->board_name = board->name;
 
        /* irq stuff */