diff options
-rw-r--r-- | drivers/staging/comedi/drivers/addi_apci_1564.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/staging/comedi/drivers/addi_apci_1564.c b/drivers/staging/comedi/drivers/addi_apci_1564.c index 190b02663bd0..819255b2d67c 100644 --- a/drivers/staging/comedi/drivers/addi_apci_1564.c +++ b/drivers/staging/comedi/drivers/addi_apci_1564.c | |||
@@ -157,6 +157,18 @@ static int apci1564_do_insn_bits(struct comedi_device *dev, | |||
157 | return insn->n; | 157 | return insn->n; |
158 | } | 158 | } |
159 | 159 | ||
160 | static int apci1564_diag_insn_bits(struct comedi_device *dev, | ||
161 | struct comedi_subdevice *s, | ||
162 | struct comedi_insn *insn, | ||
163 | unsigned int *data) | ||
164 | { | ||
165 | struct apci1564_private *devpriv = dev->private; | ||
166 | |||
167 | data[1] = inl(devpriv->amcc_iobase + APCI1564_DO_INT_STATUS_REG) & 3; | ||
168 | |||
169 | return insn->n; | ||
170 | } | ||
171 | |||
160 | /* | 172 | /* |
161 | * Change-Of-State (COS) interrupt configuration | 173 | * Change-Of-State (COS) interrupt configuration |
162 | * | 174 | * |
@@ -373,7 +385,7 @@ static int apci1564_auto_attach(struct comedi_device *dev, | |||
373 | dev->irq = pcidev->irq; | 385 | dev->irq = pcidev->irq; |
374 | } | 386 | } |
375 | 387 | ||
376 | ret = comedi_alloc_subdevices(dev, 5); | 388 | ret = comedi_alloc_subdevices(dev, 6); |
377 | if (ret) | 389 | if (ret) |
378 | return ret; | 390 | return ret; |
379 | 391 | ||
@@ -434,6 +446,15 @@ static int apci1564_auto_attach(struct comedi_device *dev, | |||
434 | if (ret) | 446 | if (ret) |
435 | return ret; | 447 | return ret; |
436 | 448 | ||
449 | /* Initialize the diagnostic status subdevice */ | ||
450 | s = &dev->subdevices[5]; | ||
451 | s->type = COMEDI_SUBD_DI; | ||
452 | s->subdev_flags = SDF_READABLE; | ||
453 | s->n_chan = 2; | ||
454 | s->maxdata = 1; | ||
455 | s->range_table = &range_digital; | ||
456 | s->insn_bits = apci1564_diag_insn_bits; | ||
457 | |||
437 | return 0; | 458 | return 0; |
438 | } | 459 | } |
439 | 460 | ||