X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=drivers%2Fstaging%2Fcomedi%2Fdrivers%2Faddi_apci_1564.c;h=190b02663bd00870fef388b3d1960c46e0f89c0d;hb=1496e5961113860e97e8fc39c4fdc0e83c1fbcab;hp=16f3b69871efe9ce87fdf71fc0c48b4e9103265a;hpb=99acc5ae9b9e544adb0921c16640293010360566;p=cascardo%2Flinux.git diff --git a/drivers/staging/comedi/drivers/addi_apci_1564.c b/drivers/staging/comedi/drivers/addi_apci_1564.c index 16f3b69871ef..190b02663bd0 100644 --- a/drivers/staging/comedi/drivers/addi_apci_1564.c +++ b/drivers/staging/comedi/drivers/addi_apci_1564.c @@ -373,7 +373,7 @@ static int apci1564_auto_attach(struct comedi_device *dev, dev->irq = pcidev->irq; } - ret = comedi_alloc_subdevices(dev, 4); + ret = comedi_alloc_subdevices(dev, 5); if (ret) return ret; @@ -397,20 +397,8 @@ static int apci1564_auto_attach(struct comedi_device *dev, s->insn_bits = apci1564_do_insn_bits; s->insn_read = apci1564_do_read; - /* Allocate and Initialise Timer Subdevice Structures */ - s = &dev->subdevices[2]; - s->type = COMEDI_SUBD_TIMER; - s->subdev_flags = SDF_WRITEABLE; - s->n_chan = 1; - s->maxdata = 0; - s->len_chanlist = 1; - s->range_table = &range_digital; - s->insn_write = apci1564_timer_write; - s->insn_read = apci1564_timer_read; - s->insn_config = apci1564_timer_config; - /* Change-Of-State (COS) interrupt subdevice */ - s = &dev->subdevices[3]; + s = &dev->subdevices[2]; if (dev->irq) { dev->read_subdev = s; s->type = COMEDI_SUBD_DI; @@ -428,6 +416,24 @@ static int apci1564_auto_attach(struct comedi_device *dev, s->type = COMEDI_SUBD_UNUSED; } + /* Allocate and Initialise Timer Subdevice Structures */ + s = &dev->subdevices[3]; + s->type = COMEDI_SUBD_TIMER; + s->subdev_flags = SDF_WRITEABLE; + s->n_chan = 1; + s->maxdata = 0; + s->len_chanlist = 1; + s->range_table = &range_digital; + s->insn_write = apci1564_timer_write; + s->insn_read = apci1564_timer_read; + s->insn_config = apci1564_timer_config; + + /* Initialize the watchdog subdevice */ + s = &dev->subdevices[4]; + ret = addi_watchdog_init(s, devpriv->amcc_iobase + APCI1564_WDOG_REG); + if (ret) + return ret; + return 0; }