- From: Ian Abbott <abbotti_at_mev.co.uk>
- Date: Mon, 21 Aug 2006 11:34:27 +0100
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