- From: Frank Mori Hess <fmhess_at_speakeasy.net>
- Date: Tue, 31 May 2005 21:47:43 -0400
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
Attachments
- application/pgp-signature attachment: stored
Received on 2005-06-01Z00:47:43