On 2014-06-28 05:47, Chase Southwood wrote:
This patchset moves a misplaced include to the proper file, swaps out an overly aggressive placement of apci1564_reset(), and cleans up apci1564_interrupt(). Chase Southwood (3): staging: comedi: addi_apci_1564: move addi_watchdog.h include to addi_apci_1564.c staging: comedi: addi_apci_1564: fix use of apci1564_reset() to disable DI interrupts staging: comedi: addi_apci_1564: clean up apci1564_interrupt()
It's okay, but I think you can simplify the interrupt handling a bit more by not bothering to check for interrupts from unknown sources. If a source hasn't been enabled, it shouldn't generate interrupts, right? Besides, since the does nothing to stop further interrupts from unknown sources, it would just keep getting further interrupts repeatedly in that case.
Then you can get rid of the ui_DO, ui_DI, ui_Timer, and counters[] variables and just check the registers directly (e.g. replace 'if (ui_Timer == 1)' with 'if (inl(devpriv->amcc_iobase + APCI1564_TIMER_IRQ_REG) & 0x01)').
Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> -- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel