3.2.8 compil/config problem on 2.6.14 for AT91RM9200

Mathieu Deschamps mathieu.deschamps at com2gether.net
Tue Jun 27 13:27:17 EDT 2006


Hello,

I have a problem compiling 3.2.8 against 2.6.14. Priorily, coming from 3.2.7 
and 3.2.4 unsuccessful builds :  I guess that's a bad config. 

I have a custom AT91RM9200 based board which integrates a PCMCIA CF
circuitry and intent to plug flash pcmcia device (ide_cs module) and wireless 
device (orinoco_cs modules). 
 

Here is my invocation :
---------------------------------------
 ./Configure --kernel="/usr/src/linux-2.6.14/" --noprompt \
        --rcdir=/etc --arch=arm --notrust --srctree --nocardbus \
        --sysv 
--kcc=/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
--ucc=/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
--ld=/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-ld \
        --target=/usr/local/buildroot/build_arm/root --uflags=-DPCMCIA_DEBUG=1 
--kflags=-DPCMCIA_DEBUG=1 --debug=1 )

    -------- Linux PCMCIA Configuration Script --------

The default responses for each question are correct for most users.
Consult the PCMCIA-HOWTO for additional info about each option.

Linux kernel source directory [/usr/src/linux-2.6.14/]

The kernel source tree is version 2.6.14.
The current kernel build date is Wed Feb 4 20:44:26 2004.

Build 'trusting' versions of card utilities (y/n) [n]
Include 32-bit (CardBus) card support (y/n) [n]
Module install directory [/lib/modules/2.6.14]

Kernel configuration options:
    Kernel-tree PCMCIA support is enabled.
    Symmetric multiprocessing support is disabled.
    Preemptive kernel support is disabled.
    Realtime Hardware Abstraction Layer is disabled.
    High memory support is disabled.
    PCI BIOS support is disabled.
    Power management (APM) support is enabled.
    SCSI support is enabled.
    IEEE 1394 (FireWire) support is disabled.
    Networking support is enabled.
     Radio network interface support is enabled.
     Token Ring device support is disabled.
     Fast switching is disabled.
     Frame Diverter is disabled.
    Module version checking is disabled.
    Kernel debugging support is enabled.
     Memory leak detection support is disabled.
     Spinlock debugging is disabled.
    /proc filesystem support is enabled.

System V init script layout (y/n) [y]
Top-level directory for RC scripts [/etc]
The Forms library is not available.
The X11/Xaw libraries are not available.
The GTK+ library is not available.

Your libc does not support wordexp().
    Without wordexp(), cardmgr will not do command substitution or
    environment variable expansion when parsing 'source' commands in
    config files.  To gain this feature, upgrade to a more recent
    version of glibc.

Configuration successful.

** Your kernel is configured with PCMCIA driver support.  Therefore,
** 'make all' will compile the PCMCIA utilities but not the drivers.
** See README-2.4 if this is not what you intended!
-------------------------------------------


And here are problems on compiling :

-----------------------------
touch /usr/local/buildroot/build_arm/pcmcia-cs-3.2.8/.configured
make -j10 -C /usr/local/buildroot/build_arm/pcmcia-cs-3.2.8 -i all
make[1]: Entering directory `/usr/local/buildroot/build_arm/pcmcia-cs-3.2.8'
make[2]: Entering directory 
`/usr/local/buildroot/build_arm/pcmcia-cs-3.2.8/cardmgr'
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -MD -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn 
-I../include/static -I/usr/src/linux-2.6.14//include -I../include 
-I../modules -c cardmgr.c
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -c -MD -O -pipe -I../include/static 
-I/usr/src/linux-2.6.14//include -I../include -I../modules yacc_config.c
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -c -MD -O -pipe -I../include/static 
-I/usr/src/linux-2.6.14//include -I../include -I../modules lex_config.c
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn 
-I../include/static -I/usr/src/linux-2.6.14//include -I../include 
-I../modules   cardctl.c   -o cardctl
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn 
-I../include/static -I/usr/src/linux-2.6.14//include -I../include 
-I../modules   ifport.c   -o ifport
In file included from yacc_config.y:41:
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:595: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:595: warning: its scope is only 
this definition or declaration, which is probably not what you want
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:598: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:599: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:600: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:603: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn 
-I../include/static -I/usr/src/linux-2.6.14//include -I../include 
-I../modules   ifuser.c   -o ifuser
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn 
-I../include/static -I/usr/src/linux-2.6.14//include -I../include 
-I../modules   scsi_info.c   -o scsi_info
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1 -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn 
-I../include/static -I/usr/src/linux-2.6.14//include -I../include 
-I../modules   ide_info.c   -o ide_info
In file included from cardmgr.c:57:
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:595: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:595: warning: its scope is only 
this definition or declaration, which is probably not what you want
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:598: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:599: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:600: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:603: warning: 'struct 
pcmcia_socket' declared inside parameter list
In file included from cardctl.c:53:
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:595: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:595: warning: its scope is only 
this definition or declaration, which is probably not what you want
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:598: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:599: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:600: warning: 'struct 
pcmcia_socket' declared inside parameter list
/usr/src/linux-2.6.14//include/pcmcia/cistpl.h:603: warning: 'struct 
pcmcia_socket' declared inside parameter list
ide_info.c: In function 'read_proc_identify':
ide_info.c:92: warning: pointer targets in passing argument 1 of 'fix_string' 
differ in signedness
ide_info.c:93: warning: pointer targets in passing argument 1 of 'fix_string' 
differ in signedness
ide_info.c:94: warning: pointer targets in passing argument 1 of 'fix_string' 
differ in signedness
/usr/local/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc 
-DPCMCIA_DEBUG=1   cardmgr.o yacc_config.o lex_config.o   -o cardmgr
make: *** Deleting file 
`/usr/local/buildroot/build_arm/pcmcia-cs-3.2.8/cardmgr/cardmgr'
make[2]: *** wait: No child processes.  Stop.
make[2]: *** Waiting for unfinished jobs....
make[2]: *** wait: No child processes.  Stop.
make[1]: [all] Error 2 (ignored)
make: *** [/usr/local/buildroot/build_arm/pcmcia-cs-3.2.8/cardmgr/cardmgr] 
Interruption
-----------------------------------

Struct pcmcia_socket it lacks is in linux/include/pcmcia/ss.h but adding &
brute-forcing it, leads to a lot of redefinitions... of course. 

Actually letting process coming to the end produce expected binaries but on 
execution they do not work. 

my lsmod reports:
-------------------------
Module                  Size  Used by
ide_cs                  8484  0
ide_core               79700  1 ide_cs
pcmcia                 25548  1 ide_cs
at91_cf                 4352  2
pcmcia_core            33204  2 pcmcia,at91_cf

my log records :
-------------------------
Jun 27 16:48:53 zephyr-B kern.debug kernel: device class 'pcmcia_socket': 
registering
Jun 27 16:48:53 zephyr-B kern.debug kernel: bus platform: add driver at91_cf
Jun 27 16:48:53 zephyr-B kern.debug kernel: platform: Matched Device at91_cf 
with Driver at91_cf
Jun 27 16:48:53 zephyr-B kern.debug kernel: at91_cf: At91_cf starting
Jun 27 16:48:53 zephyr-B kern.debug kernel: at91_cf: Going to set_drvdata !
Jun 27 16:48:53 zephyr-B kern.debug kernel: at91_cf: Probe starting
Jun 27 16:48:53 zephyr-B kern.debug kernel: at91_cf: Requesting IRQ
Jun 27 16:48:53 zephyr-B kern.debug kernel: at91_cf: Remapping : 
socket.io_offset with  50800000
Jun 27 16:48:53 zephyr-B kern.info kernel: at91_cf: irqs det #109, io #58
Jun 27 16:48:53 zephyr-B kern.debug kernel: at91_cf: Registering socket
Jun 27 16:48:53 zephyr-B kern.debug kernel: cs: : 
pcmcia_register_socket(0xbf00aefc)
Jun 27 16:48:53 zephyr-B kern.debug kernel: at91_cf: Vcc 0, io_irq 0, flags 
0000 csc 0080
Jun 27 16:48:53 zephyr-B kern.debug kernel: CLASS: registering class device: 
ID = 'pcmcia_socket0'
Jun 27 16:48:53 zephyr-B kern.debug kernel: class_hotplug - name = 
pcmcia_socket0
Jun 27 16:48:53 zephyr-B kern.debug kernel: cs: pcmcia_socket0: parse_events: 
events 00000080
Jun 27 16:48:53 zephyr-B kern.debug kernel: bound device 'at91_cf' to driver 
'at91_cf'
Jun 27 16:48:53 zephyr-B kern.debug kernel: platform: Bound Device at91_cf to 
Driver at91_cf
Jun 27 16:48:53 zephyr-B kern.debug kernel: bus type 'pcmcia' registered


but issuing just makes me down :( 
#cardmgr
cardmgr[1436]: no pcmcia driver in /proc/devices





Thanks for your attention.

Best Regards, 


Mathieu Deschamps
Com2gether Design Center
Electronic and Embedded Engineering Services
www.com2gether.net 



More information about the linux-pcmcia mailing list