fixes for RTAI, good for rtai4 cvs, not checked for rtai-22
authorDavid Schleef <ds@schleef.org>
Mon, 5 Feb 2001 02:06:46 +0000 (02:06 +0000)
committerDavid Schleef <ds@schleef.org>
Mon, 5 Feb 2001 02:06:46 +0000 (02:06 +0000)
comedi/rt.c

index d8b0688fe09cb036da8a1c3c19a0f6c4eef443d9..16b6d5ecddaad5e7114d0187c7bd47586daa2c38 100644 (file)
@@ -171,11 +171,10 @@ void wake_up_int_handler(int arg1, void * arg2)
 #define DECLARE_VOID_IRQ(irq) \
 static void handle_void_irq_ ## irq (void){ handle_void_irq(irq);}
 
-static inline void handle_void_irq(int irq)
+static void handle_void_irq(int irq)
 {
        struct comedi_irq_struct *it=comedi_irqs[irq];
        it->handler(irq,it->dev_id,NULL);
-       rt_unmask_irq(irq);
 }
 
 DECLARE_VOID_IRQ(0);
@@ -242,10 +241,20 @@ static int rt_get_irq(struct comedi_irq_struct *it)
 
 static int rt_release_irq(struct comedi_irq_struct *it)
 {
+       rt_shutdown_irq(it->irq);
        rt_free_global_irq(it->irq);
        return 0;
 }
 
+void comedi_rt_init(void)
+{
+       rt_mount_rtai();
+}
+
+void comedi_rt_cleanup(void)
+{
+       rt_umount_rtai();
+}
 
 #endif
 
@@ -273,6 +282,9 @@ static int rt_release_irq(struct comedi_irq_struct *it)
        return 0;
 }
 
+void comedi_rt_init(void) { }
+void comedi_rt_cleanup(void) { }
+
 #endif