RE: no pcmcia support

Dear Ian

Following your indications I updated the comedi drivers through cvs using the -D '2006-07-11 19:00' option. autogen then correctly detected PCMCIA support (as module). However it doesn't compile. Below is the make error message. What's going on? (I used --enable-pcmcia option with configure).

Note that I haven't applied the patch you sent: I understood that I must not since I am using kernel 2.6.15, although I am not sure I understood correctly your instructions about that. can you confirm please?
I don't know if "Ubuntu played the same tricks as Fedora", I am using a vanilla kernel anyway. How can I check that?
Anyway I tried to apply the patch, just in case. 'patch -p0 < comedi.patch' fails reporting "Hunk #1 FAILED at 37".


Thanks
Brice


make  all-recursive
make[1]: Entering directory `/usr/src/comedi'
Making all in comedi
make[2]: Entering directory `/usr/src/comedi/comedi'
Making all in .
make[3]: Entering directory `/usr/src/comedi/comedi'
echo > comedi_kbuild.inc
echo CONFIG_COMEDI_RT=y >> comedi_kbuild.inc
echo CONFIG_COMEDI_RT_MODULES=m >> comedi_kbuild.inc
echo CONFIG_COMEDI_PCMCIA_MODULES=m >> comedi_kbuild.inc
echo CONFIG_COMEDI_USB_MODULES=m >> comedi_kbuild.inc
make -I/usr/src/comedi/comedi -C /lib/modules/2.6.15-rtai3.3/build M=/usr/src/comedi/comedi CC="gcc -m32 -I/usr/src/comedi/comedi/../ \
                -I/usr/src/comedi/comedi/../include -I/usr/realtime/include " V=1 modules
make[4]: Entering directory `/usr/src/linux-2.6.15-rtai3.3'
mkdir -p /usr/src/comedi/comedi/.tmp_versions
make -f scripts/Makefile.build obj=/usr/src/comedi/comedi
make -f scripts/Makefile.build obj=/usr/src/comedi/comedi/drivers
  gcc -m32 -I/usr/src/comedi/comedi/../         -I/usr/src/comedi/comedi/../include -I/usr/realtime/include  -Wp,-MD,/usr/src/comedi/comedi/drivers/.cb_das16_cs.o.d  -nostdinc -isystem /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include -D__KERNEL__ -Iinclude  -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2  -march=i686 -mcpu=pentium3 -Iinclude/asm-i386/mach-default     -DMODULE -DKBUILD_BASENAME=cb_das16_cs -DKBUILD_MODNAME=cb_das16_cs -c -o /usr/src/comedi/comedi/drivers/cb_das16_cs.o /usr/src/comedi/comedi/drivers/cb_das16_cs.c
/usr/src/comedi/comedi/drivers/cb_das16_cs.c: In function `das16cs_pcmcia_detach':
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:762: warning: implicit declaration of function `dev_to_instance'
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:762: warning: initialization makes pointer from integer without a cast
/usr/src/comedi/comedi/drivers/cb_das16_cs.c: In function `das16cs_pcmcia_suspend':
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1003: warning: initialization makes pointer from integer without a cast
/usr/src/comedi/comedi/drivers/cb_das16_cs.c: In function `das16cs_pcmcia_resume':
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1017: warning: initialization makes pointer from integer without a cast
/usr/src/comedi/comedi/drivers/cb_das16_cs.c: At top level:
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1038: error: unknown field `probe' specified in initializer
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1038: warning: initialization from incompatible pointer type
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1039: error: unknown field `remove' specified in initializer
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1039: warning: initialization from incompatible pointer type
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1040: error: unknown field `suspend' specified in initializer
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1040: warning: initialization from incompatible pointer type
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1041: error: unknown field `resume' specified in initializer
/usr/src/comedi/comedi/drivers/cb_das16_cs.c:1041: warning: initialization from incompatible pointer type
make[6]: *** [/usr/src/comedi/comedi/drivers/cb_das16_cs.o] Error 1
make[5]: *** [/usr/src/comedi/comedi/drivers] Error 2
make[4]: *** [_module_/usr/src/comedi/comedi] Error 2
make[4]: Leaving directory `/usr/src/linux-2.6.15-rtai3.3'
make[3]: *** [all-local] Error 2
make[3]: Leaving directory `/usr/src/comedi/comedi'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/comedi/comedi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/comedi'
make: *** [all] Error 2







-----Original Message-----
From: Ian Abbott [mailto:abbotti_at_mev.co.uk]
Sent: Tue 8/15/2006 8:58 PM
To: Rebsamen Brice
Cc: comedi_at_comedi.org
Subject: Re: no pcmcia support
 
On 15/08/2006 12:17, Rebsamen Brice wrote:
> I don't have choice, I must stick with kernel 2.6.15, because 2.6.16 is
> not yet supported by RTAI. Unless there is an earlier version of comedi
> that would do?
> 
> So I will go for your unrecommended suggestion.
> 
> Concerning that patch: I am not familiar with patches, so I didn't
> manage to run it. From the linux source dir I tried 'patch -p1 -u
> --dry-run < comedi.patch' but it failed. In the first place it was
> asking me which file to patch, and then would report Hunk failure...
> Please help me

You don't need the patch if you are only using 2.6.15 unless Ubuntu 
played the same tricks as Fedora by implementing API changes that don't 
match the vanilla kernel with the same version number (basically, 
Fedora's 2.6.15 kernel includes the PCMCIA API changes from 2.6.16).

If you're in the comedi top level directory, 'patch -p0 < comedi.patch' 
should work.

> Are the 6 revised modules independent? I know I need ni_mio_cs.c, should
> I also update others. How should I get them? (I am not familiar with CVS
> either). I can get ni_mio_cs 1.74 from the web interface to cvs, but not
> 1.69. Maybe 1.74 will do just fine...?

You can get them via the web interface if you click on the filename in 
the left-hand column, find the entry with the desired revision number 
and use the '(as text)' link in that entry to view or download the plain 
text version of that revision.

Or with cvs, you can checkout a particular revision using the -r option, 
e.g. 'cvs co -r1.16 comedi/drivers/cb_das16_cs.c'.  It is also possible 
to checkout from CVS using the -D option to specify a cut-off 
time-stamp.  The following should check out everything within a crucial 
34 minute period:

cvs -d :pserver:anonymous_at_cvs.comedi.org:/cvs/comedi login
cvs -d :pserver:anonymous_at_cvs.comedi.org:/cvs/comedi co -D '2006-07-11 
19:00' comedi

> And finally: if it fails, have I any hope that there will be support for
> 2.6.15 in the future? Let say within one month? Or should I just try
> something else, e.g. back to kernel 2.4.20 :(

It's on my list of things to do, but I can't promise any timescale. 
Hopefully within a month.

I think comedi-0.7.70 works for kernel versions up to 2.6.10 (maybe 
2.6.11 - I forget the exact version!).

-- 
-=( 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-21Z07:24:55