An active boolean is introduced on producer side: it reflects whether
the source is active (at interrupt controller level or at VFIO level
- automasked -).

This is a temporary hack for ARM IRQ forwarding with vfio platform.
I think the connect and disconnect should become callbacks too.
This would make possible to handle error in the process. Typically
active could be returned by producer->stop and analyzed before going
further. in that case the list_add only if connect returns 0.

Signed-off-by: Eric Auger <[email protected]>
---
 include/linux/irqbypass.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/irqbypass.h b/include/linux/irqbypass.h
index 8f62235..c89c3a8 100644
--- a/include/linux/irqbypass.h
+++ b/include/linux/irqbypass.h
@@ -9,6 +9,8 @@ struct irq_bypass_producer {
        struct list_head node;
        void *token;
        int irq; /* linux irq */
+       /* is irq active at irqchip or VFIO masked? */
+       bool active;
        void (*stop)(struct irq_bypass_producer *);
        void (*resume)(struct irq_bypass_producer *);
        void (*add_consumer)(struct irq_bypass_producer *,
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to