From: H Hartley Sweeten <hartleys@visionengravers.com>
Date: Tue, 13 Nov 2012 20:46:52 +0000 (-0700)
Subject: staging: comedi: addi_apci_1516: fix i_APCI1516_ReadWatchdog()
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=9151b01f3c5155d67d4dbd1c294694d57859dbec;p=openwrt%2Fstaging%2Fblogic.git

staging: comedi: addi_apci_1516: fix i_APCI1516_ReadWatchdog()

This function is used by the watchdog subdevice to read the status of
the watchdog. Rename the CamelCase function to apci1516_wdog_insn_read
and fix the function to return the status value insn->n times like
the comedi core expects.

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>
---

diff --git a/drivers/staging/comedi/drivers/addi_apci_1516.c b/drivers/staging/comedi/drivers/addi_apci_1516.c
index 66207a197a48..49b2f5c996cf 100644
--- a/drivers/staging/comedi/drivers/addi_apci_1516.c
+++ b/drivers/staging/comedi/drivers/addi_apci_1516.c
@@ -169,14 +169,17 @@ static int i_APCI1516_StartStopWriteWatchdog(struct comedi_device *dev,
 	return insn->n;
 }
 
-static int i_APCI1516_ReadWatchdog(struct comedi_device *dev,
+static int apci1516_wdog_insn_read(struct comedi_device *dev,
 				   struct comedi_subdevice *s,
 				   struct comedi_insn *insn,
 				   unsigned int *data)
 {
 	struct apci1516_private *devpriv = dev->private;
+	int i;
+
+	for (i = 0; i < insn->n; i++)
+		data[i] = inw(devpriv->wdog_iobase + APCI1516_WDOG_STATUS_REG);
 
-	data[0] = inw(devpriv->wdog_iobase + APCI1516_WDOG_STATUS_REG) & 0x1;
 	return insn->n;
 }
 
@@ -275,7 +278,7 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev,
 		s->maxdata	= 0;
 		s->range_table	= &range_digital;
 		s->insn_write	= i_APCI1516_StartStopWriteWatchdog;
-		s->insn_read	= i_APCI1516_ReadWatchdog;
+		s->insn_read	= apci1516_wdog_insn_read;
 		s->insn_config	= i_APCI1516_ConfigWatchdog;
 	} else {
 		s->type		= COMEDI_SUBD_UNUSED;