Re: comedi-0.7.73 problem

On 18/08/06 01:11, Frank Mori Hess wrote:
> On Thursday 17 August 2006 09:35 am, Roberto Bucher wrote:
>> I compiled the new comedi tarball with the following configuration:
>>
>> kernel: linux-2.6.17.8
>> RTAI: vulcano-cvs, IPIPE
>> no PCMCIA support
>>
>> When I ry to do
>>
>> modprobe comedi
>>
>> I get a Segmentation fault and the following log:
> 
> It looks like an rtai header is redefining the comedi CLASS_DEVICE_CREATE 
> to a broken one (at least with respect to 2.6.17).  You might look for 
> compile warnings when compiling comedi_fops.c, like CLASS_DEVICE_CREATE 
> being redefined and an incompatible pointer argument passed to 
> class_device_create.  For 2.6.17, comedi just replaces CLASS_DEVICE_CREATE 
> with class_device_create, so you could just manually make that change to 
> your comedi_fops.c.

I don't think the rtai version is wrong, it's just different.  The rtai
version of the macro doesn't include the 'parent' parameter like the
Comedi one does, and just sets the 'parent' argument of the underlying
class_device_create function to NULL where needed (for 2.6.15 upwards).
  The Comedi version takes the opposite approach of including the
'parent' parameter in the macro definition and omitting it from calls to
the underlying function where needed (for 2.6.14 downwards).  (That's a
slightly simplified description of the Comedi version, but good enough
for this discussion.)

So the problem is both Comedi and RTAI define a macro with the same
name, but with different parameters.  The best solution is for Comedi or
RTAI or both to rename the macro.  Any suggestions for a new name?

-- 
-=( Ian Abbott _at_ MEV Ltd.    E-mail: <abbotti_at_mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-

Received on 2006-08-21Z09:34:27