1. Yes, you can use a single ISR for every device in the system, assuming
that you can tell which one generated the interrupt.
2. That depends on the card.  Some cards have a bit which identifies a
pending interrupt request.  If so, you just read registers sequentially
through a list until you find one that has that bit set. Depending on
timing, you can find no bits set too, but don't necessarily treat that as
an error condition if your ISR scans the whole list and services any
pending IRQ's.
If there's no interrupt-pending bit on your cards, you could do a hardware
hack to feed all of the IRQ-lines into a new card which does a large AND or
OR or NAND or NOR (depending on the logic of the line and the bus) and
presents a single IRQ to the bus and at the same time remembers this in a
clocked register which could be read by the ISR.

        Norm


At 06:15 PM 7/25/2000 +0200, [EMAIL PROTECTED] wrote:
>Hello all,
>
>the next question may be stupid, but I just couldnt figure out how to do it
>:)
>
>I have several digital IO cards of the same type, all with interrupts
>enabled, and I want to use one handling function for all cards, with
>multiple calls to rt_request_global_irq.
>
>My question is:
>
>1. Can I use one funtion several times as interupt handler ?
>2. How can I find out which interrupt triggered the handler function ?
>
>Thanks in advance,
>
>Marco Schwarz.
>-- [rtl] ---
>To unsubscribe:
>echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
>echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
>---
>For more information on Real-Time Linux see:
>http://www.rtlinux.org/rtlinux/
>
>
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to