14dfl4.txt ;************************************************************************************************** ; LISTING 4 - ISR-SERVICING CODE ; ; "Get those boards talking under Linux," EDN, July 6, 2000, pg 128 ; ; http://www.ednmag.com/ednmag/reg/2000/070600/14df.htm ;************************************************************************************************** static int pd_isr_serve_board(int board) { ... // check if interrupt came from a specific card if ( ! pd_check_int_request(board)) return 0; // this board not waiting for service pd_ack_int_request(board); // acknowledge the interrupt // do whatever necessary to service interrupt request, for example pd_get_status(board, &status); if (status & BRD_DATA_AVAILABLE) ... // proceed according with board status // schedule bottom half of ISR to run pd_schedule_dpc(board, board_dpc_proc); return 1; }