--- /dev/null
+From 97f4289ad08cffe55de06d4ac4f89ac540450aee Mon Sep 17 00:00:00 2001
+From: H Hartley Sweeten <hsweeten@visionengravers.com>
+Date: Fri, 30 Aug 2013 11:05:58 -0700
+Subject: staging: comedi: drivers: use comedi_dio_update_state() for simple cases
+
+From: H Hartley Sweeten <hsweeten@visionengravers.com>
+
+commit 97f4289ad08cffe55de06d4ac4f89ac540450aee upstream.
+
+[Split from original patch subject: "staging: comedi: drivers: use
+comedi_dio_update_state() for simple cases"]
+
+Use comedi_dio_update_state() to handle the boilerplate code to update
+the subdevice s->state for simple cases where the hardware is updated
+when any channel is modified.
+
+Also, fix a bug in the amplc_pc263 and amplc_pci263 drivers where the
+current state is not returned in data[1].
+
+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>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/comedi/drivers/amplc_pc263.c | 3 +++
+ drivers/staging/comedi/drivers/amplc_pci263.c | 3 +++
+ 2 files changed, 6 insertions(+)
+
+--- a/drivers/staging/comedi/drivers/amplc_pc263.c
++++ b/drivers/staging/comedi/drivers/amplc_pc263.c
+@@ -72,6 +72,9 @@ static int pc263_do_insn_bits(struct com
+ outb(s->state & 0xFF, dev->iobase);
+ outb(s->state >> 8, dev->iobase + 1);
+ }
++
++ data[1] = s->state;
++
+ return insn->n;
+ }
+
+--- a/drivers/staging/comedi/drivers/amplc_pci263.c
++++ b/drivers/staging/comedi/drivers/amplc_pci263.c
+@@ -59,6 +59,9 @@ static int pci263_do_insn_bits(struct co
+ outb(s->state & 0xFF, dev->iobase);
+ outb(s->state >> 8, dev->iobase + 1);
+ }
++
++ data[1] = s->state;
++
+ return insn->n;
+ }
+
--- /dev/null
+From f6b316bcd8c421acd6fa5a6e18b4c846ecb9d965 Mon Sep 17 00:00:00 2001
+From: H Hartley Sweeten <hsweeten@visionengravers.com>
+Date: Fri, 30 Aug 2013 11:08:50 -0700
+Subject: staging: comedi: ssv_dnp: use comedi_dio_update_state()
+
+From: H Hartley Sweeten <hsweeten@visionengravers.com>
+
+commit f6b316bcd8c421acd6fa5a6e18b4c846ecb9d965 upstream.
+
+Use comedi_dio_update_state() to handle the boilerplate code to update
+the subdevice s->state.
+
+Also, fix a bug where the state of the channels is returned in data[0].
+The comedi core expects it to be returned in data[1].
+
+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/ssv_dnp.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/staging/comedi/drivers/ssv_dnp.c
++++ b/drivers/staging/comedi/drivers/ssv_dnp.c
+@@ -87,11 +87,11 @@ static int dnp_dio_insn_bits(struct come
+
+ /* on return, data[1] contains the value of the digital input lines. */
+ outb(PADR, CSCIR);
+- data[0] = inb(CSCDR);
++ data[1] = inb(CSCDR);
+ outb(PBDR, CSCIR);
+- data[0] += inb(CSCDR) << 8;
++ data[1] += inb(CSCDR) << 8;
+ outb(PCDR, CSCIR);
+- data[0] += ((inb(CSCDR) & 0xF0) << 12);
++ data[1] += ((inb(CSCDR) & 0xF0) << 12);
+
+ return insn->n;
+