Messages in this thread | | | Date | Mon, 30 Jun 2014 11:25:15 +0100 | From | Ian Abbott <> | Subject | Re: [PATCH 0/3] staging: comedi: addi_apci_1564: miscellaneous fixes and cleanups |
| |
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@mev.co.uk>
-- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@mev.co.uk> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
| |