[PATCH v2 21/23] staging: comedi: ni_atmio: cleanup ni_getboardtype()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxx>
---
v2: fix checkpatch issue

 drivers/staging/comedi/drivers/ni_atmio.c | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_atmio.c b/drivers/staging/comedi/drivers/ni_atmio.c
index 1304b06..95435b8 100644
--- a/drivers/staging/comedi/drivers/ni_atmio.c
+++ b/drivers/staging/comedi/drivers/ni_atmio.c
@@ -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 */
 
-- 
2.4.3

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



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux