OSDN Git Service

staging: comedi: addi_watchdog: all i/o registers are 32-bit
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Thu, 24 Jan 2013 00:02:31 +0000 (17:02 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Jan 2013 20:15:53 +0000 (12:15 -0800)
All the i/o registers used by the watchdog device on the addi-data
boards are 32-bit. Make sure all the i/o commands use outl/inl to
access the registers.

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

index b944503..375ab66 100644 (file)
@@ -65,7 +65,7 @@ static int addi_watchdog_insn_config(struct comedi_device *dev,
        case INSN_CONFIG_ARM:
                spriv->wdog_ctrl = ADDI_WDOG_CTRL_ENABLE;
                reload = data[1] & s->maxdata;
-               outw(reload, spriv->iobase + ADDI_WDOG_RELOAD_REG);
+               outl(reload, spriv->iobase + ADDI_WDOG_RELOAD_REG);
 
                /* Time base is 20ms, let the user know the timeout */
                dev_info(dev->class_dev, "watchdog enabled, timeout:%dms\n",
@@ -78,7 +78,7 @@ static int addi_watchdog_insn_config(struct comedi_device *dev,
                return -EINVAL;
        }
 
-       outw(spriv->wdog_ctrl, spriv->iobase + ADDI_WDOG_CTRL_REG);
+       outl(spriv->wdog_ctrl, spriv->iobase + ADDI_WDOG_CTRL_REG);
 
        return insn->n;
 }
@@ -112,7 +112,7 @@ static int addi_watchdog_insn_write(struct comedi_device *dev,
 
        /* "ping" the watchdog */
        for (i = 0; i < insn->n; i++) {
-               outw(spriv->wdog_ctrl | ADDI_WDOG_CTRL_SW_TRIG,
+               outl(spriv->wdog_ctrl | ADDI_WDOG_CTRL_SW_TRIG,
                     spriv->iobase + ADDI_WDOG_CTRL_REG);
        }