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@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/drivers/addi_watchdog.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/comedi/drivers/addi_watchdog.c b/drivers/staging/comedi/drivers/addi_watchdog.c index b944503..375ab66 100644 --- a/drivers/staging/comedi/drivers/addi_watchdog.c +++ b/drivers/staging/comedi/drivers/addi_watchdog.c @@ -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); } -- 1.8.1.1.293.gfe73786 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel