Re: comedi and fusion

On Friday 27 May 2005 09:59 am, Alexis Berlemont wrote:
> Hi,
>
> Here is a patch of comedi for the compatibility with RTAI fusion.
>
> http://download.gna.org/rtai/experimental/contrib/comedi-0.7.70-over-fus
>ion-0.7.4.patch
>
> The patch mainly changes the calls to RTAI API (which has evolved a
> little in fusion) in rt.c and in rt_pend_tq.c. It also modifies
> comedi_rt_timer.c : instead of using suspend / resume calls to regulate
> the interaction between the tasks timer and scan, two semaphores have
> been added. Thus, we prevent the  wake-up (rt_task_resume) of a
> non-sleeping task (rt_task_suspend not called yet), which triggers buggy
> behaviours.
>
> All modifications are located between precompilation directives (#ifdef
> CONFIG_COMEDI_FUSION ... #endif). The file rtai.m4 has also been sligthy
> modified to recognize fusion version. Then, autogen.sh must be launched
> after having applied the patch.
>
> This patch has been tested with the drivers comedi_rt_timer,
> comedi_parport and comedi_test. I don't have real acquisition stuff.

Alexis,

Thanks for the patch.  A few things:  the rt_printk() define should go in 
comedi_rt.h, not comedidev.h.  Most of the patch to rt.c is unnecessary.  
Most of that stuff is just there to enable passing an argument to the rt 
interrupt handler.  But rthal_irq_request() already supports passing an 
argument to the handler, so you don't need it.  As for the comedi_rt_timer 
stuff, it's getting ugly.  I think we are trying to support too many 
different RT APIs simultaneously in that driver, and it is not 
maintainable.

-- 
Frank

Received on 2005-06-01Z00:47:43