linux/drivers/staging/comedi
Ian Abbott d8b0e4230f staging: comedi: amplc_pci230: simplify interrupt enable handling
`struct pci230_private` has two members to manage the enabled interrupt
sources.  `int_en` is the interrupt sources we want to be enabled and
`ier` is a shadow of the write-only interrupt enable register.  They
have the same value most of the time.  They differ in the interrupt
handler (`pci230_interrupt()`) itself when it temporarily clears bits in
the interrupt enable register and the `ier` member in order to unlatch
them in hardware, but leaves the `int_en` member alone.  They also
differ in `pci230_ai_stop()` and `pci230_ao_stop()` which clear bits in
the `int_en` member and wait for the interrupt handler to finish before
copying the value to the `ier` member and the interrupt enable register.

Simplify the handling a bit, by making the `ier` member take on the role
of the `int_en` member, and allowing the value to differ from the
interrupt enable register while the interrupt handler is running.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-02 11:21:32 -07:00
..
drivers staging: comedi: amplc_pci230: simplify interrupt enable handling 2014-09-02 11:21:32 -07:00
kcomedilib
comedi_buf.c staging: comedi: pass subdevice to comedi_buf_write_n_available() 2014-05-23 21:25:50 +09:00
comedi_compat32.c staging: comedi: comedi_compat32: checkpatch.pl --strict cleanup 2014-07-18 16:10:39 -07:00
comedi_compat32.h staging: comedi: comedi_compat32.h: checkpatch.pl --strict cleanup 2014-07-18 16:10:40 -07:00
comedi_fops.c staging: comedi: comedidev.h: remove 'new_size' param from subdevice (*buf_change) 2014-07-22 15:33:23 -07:00
comedi_internal.h staging: comedi: comedi_internal.h: checkpatch.pl --strict cleanup 2014-07-18 16:10:39 -07:00
comedi_pci.c staging: comedi: comedi_pci: introduce comedi_pci_detach() 2014-08-30 13:24:54 -07:00
comedi_pcmcia.c
comedi_usb.c
comedi.h staging: comedi: comedi.h: checkpatch.pl --strict cleanup 2014-07-18 16:10:40 -07:00
comedidev.h staging: comedi: comedi_pci: introduce comedi_pci_detach() 2014-08-30 13:24:54 -07:00
comedilib.h
drivers.c staging: comedi: add a 'readback' member to comedi_subdevice 2014-08-30 13:22:29 -07:00
Kconfig staging: comedi: Kconfig: make COMEDI_BOND select COMEDI_KCOMEDILIB 2014-08-30 13:28:15 -07:00
Makefile
proc.c Staging: comedi: proc: title block update 2014-03-19 04:41:04 +00:00
range.c Staging: comedi: range: remove unnecessary sanity check 2014-03-08 18:59:48 -08:00
TODO staging: comedi: TODO: remove item "reserve major number" 2014-05-28 14:18:11 -07:00