RE: Driver Porting Help
"Kenneth Goodwin" <[email protected]>
| Newsgroups | gmane.linux.redhat.release.enigma |
|---|---|
| Message-ID | <ACC36DFE0F2E0948993CC7858D6B60EB154A54@DMTECHMAIL> |
Trying to port a Rainbow Cryptoswift PC-200 driver from a Kernel version
somewhere
around 7.X (2.2.14-5.0) to Redhat 8.0 (2.4.18-19.8.0) and getting massive
error
messages that are either being caused
by missing files in the Rainbow distribution or changes to the driver
interface
between the last version it was compiled for and the 8.0 release. (will also
post to
8.0 mailing list, for those on both , apologies in advance for the
redundancy)
If you have kernel level expertise esp. with porting from version to version
and recognize the symptoms below, I would appreciate your insight into the
possible
causes and solutions for the root cause of this issue. My gut feeling is
that some
critical include file is not being brought in because of a reorganized
kernel.
(text editted to fit into HOPEFULLY 80 columns for those amongst us
who are GUI challenged :=} )
Thanks in advance.
Details -
PROBLEMS INSTALLING CRYPTOSWITCH DRIVER
OUR KERNEL: REDHAT 8.0 with errata linux-2.4.18-19.8.0
CONTENTS OF LINUX DIRECTORY FROM OUR RainBow SOFTWARE CD:
./openssl
./openssl/94
./openssl/94/ik.tz
./openssl/94/install.txt
./openssl/94/license.txt
./openssl/94/setup
./openssl/96
./openssl/96/install.txt
./runtime
./runtime/ik.tz
./runtime/install.txt
./runtime/license.txt
./runtime/setup
./source
./source/cspci24
./source/cspci24/csdevid.h
./source/cspci24/csdiag.dat
./source/cspci24/cspci.c
./source/cspci24/cspci.h
./source/cspci24/cspci24Installation.txt
./source/cspci24/Makefile
./source/cspci24/readme-build.txt
./source/cspci24/swifterr.h
./source/cspci24/swiftype.h
AFTER SOFTWARE INSTALLATION into /var/crypto:
./CryptoSwift_IK_3.2.0
./CryptoSwift_IK_3.2.0/runtime
./CryptoSwift_IK_3.2.0/runtime/bin
./CryptoSwift_IK_3.2.0/runtime/bin/csdiag
./CryptoSwift_IK_3.2.0/runtime/dist
./CryptoSwift_IK_3.2.0/runtime/dist/driver
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.30
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.30/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.31
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.31/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.34
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.34/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.36
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.0.36/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.5-15
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.5-15/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.5-15smp
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.5-15smp/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.14-5.0
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.14-5.0/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.14-5.0smp
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.14-5.0smp/cspci.o
./CryptoSwift_IK_3.2.0/runtime/dist/driver/2.2.15-5.0
(NOTE - Code not ported by Rainbow to this release)
./CryptoSwift_IK_3.2.0/runtime/doc
./CryptoSwift_IK_3.2.0/runtime/doc/license.txt
./CryptoSwift_IK_3.2.0/runtime/doc/CSdoc.pdf
./CryptoSwift_IK_3.2.0/runtime/doc/install.txt
./CryptoSwift_IK_3.2.0/runtime/lib
./CryptoSwift_IK_3.2.0/runtime/lib/libswift.so.5.0.2
./CryptoSwift_IK_3.2.0/runtime/utilities
./CryptoSwift_IK_3.2.0/runtime/utilities/modinfo
./CryptoSwift_IK_3.2.0/runtime/utilities/sp1024
TRYING TO USE CDROM'S LATEST VERSION (2.2.14-5.0) (in desparation)
insmod dist/driver/2.2.14-5.0/cspci.o
dist/driver/2.2.14-5.0/cspci.o: The module you are trying to load
(dist/driver/2.2.14-5.0/cspci.o)
is compiled with a gcc version 2 compiler, while the kernel you
are running is compiled with
a gcc version 3 compiler. This is known to not work.
COMPILER ERRORS TRYING TO BUILD CSPCI.O
make
gcc -D__KERNEL__ -DMODULE -O -Wall -I/usr/src/linux/include
-I./ROOT/SwiftAPI5.0.2/include -c cspci.c
In file included from /usr/include/linux/fs.h:23,
from /usr/include/linux/capability.h:17,
from /usr/include/linux/binfmts.h:5,
from /usr/include/linux/sched.h:9,
from cspci.c:107:
/usr/include/linux/string.h:8:2: warning: #warning Using kernel header in
userland!
In file included from /usr/include/linux/sched.h:14,
from cspci.c:107:
/usr/include/linux/timex.h:173: field `time' has incomplete type
In file included from /usr/include/linux/bitops.h:69,
from /usr/include/asm/system.h:7,
from /usr/include/linux/sched.h:16,
from cspci.c:107:
/usr/include/asm/bitops.h:333:2: warning: #warning This includefile
is not available on all architectures.
/usr/include/asm/bitops.h:334:2: warning: #warning Using kernel headers
in userspace.
In file included from /usr/include/linux/signal.h:4,
from /usr/include/linux/sched.h:25,
from cspci.c:107:
In file included from /usr/include/linux/sched.h:81,
/usr/include/asm/signal.h:120: parse error before '}' token
In file included from /usr/include/linux/sched.h:81,
from cspci.c:107:
/usr/include/linux/timer.h:45: parse error before "spinlock_t"
/usr/include/linux/timer.h:53: parse error before '}' token
/usr/include/linux/timer.h:67: parse error before "tvec_base_t"
/usr/include/linux/timer.h:101: parse error before "tvec_bases"
/usr/include/linux/timer.h: In function `init_timer':
/usr/include/linux/timer.h:105: dereferencing pointer to incomplete type
/usr/include/linux/timer.h:105: dereferencing pointer to incomplete type
/usr/include/linux/timer.h:106: dereferencing pointer to incomplete type
/usr/include/linux/timer.h: In function `timer_pending':
/usr/include/linux/timer.h:121: dereferencing pointer to incomplete type
In file included from cspci.c:109:
/usr/include/linux/malloc.h:3:2: warning: #warning The Use of
linux/malloc.h is deprecated, use linux/slab.h
In file included from cspci.c:117:
/usr/include/linux/delay.h:13:23: asm/delay.h: No such file or directory
In file included from cspci.c:125:
/usr/include/linux/interrupt.h:44:25: asm/hardirq.h: No such file or
directory
/usr/include/linux/interrupt.h:45:25: asm/softirq.h: No such file or
directory
In file included from cspci.c:125:
/usr/include/linux/interrupt.h: At top level:
/usr/include/linux/interrupt.h:77: parse error before '(' token
/usr/include/linux/interrupt.h:78: parse error before '(' token
/usr/include/linux/interrupt.h:106: parse error before "atomic_t"
/usr/include/linux/interrupt.h:109: parse error before '}' token
/usr/include/linux/interrupt.h:127: `CONFIG_X86_L1_CACHE_SHIFT'
undeclared here (not in a function)
/usr/include/linux/interrupt.h:127: requested alignment is not a constant
/usr/include/linux/interrupt.h:154: parse error before '(' token
/usr/include/linux/interrupt.h: In function `tasklet_schedule':
/usr/include/linux/interrupt.h:158: dereferencing pointer to incomplete
type
/usr/include/linux/interrupt.h: At top level:
/usr/include/linux/interrupt.h:162: parse error before '(' token
/usr/include/linux/interrupt.h: In function `tasklet_hi_schedule':
/usr/include/linux/interrupt.h:166: dereferencing pointer to incomplete
type
/usr/include/linux/interrupt.h: In function `tasklet_disable_nosync':
/usr/include/linux/interrupt.h:173: dereferencing pointer to incomplete
type
/usr/include/linux/interrupt.h: In function `tasklet_enable':
/usr/include/linux/interrupt.h:187: dereferencing pointer to incomplete
type
/usr/include/linux/interrupt.h: In function `tasklet_hi_enable':
/usr/include/linux/interrupt.h:193: dereferencing pointer to incomplete
type
/usr/include/linux/interrupt.h: At top level:
/usr/include/linux/interrupt.h:224: parse error before "global_bh_lock"
/usr/include/linux/interrupt.h: In function `mark_bh':
/usr/include/linux/interrupt.h:228: invalid use of undefined type `struct
tasklet_struct'
cspci.c: At top level:
cspci.c:325: parse error before "wait_queue_head_t"
cspci.c:325: warning: no semicolon at end of struct or union
cspci.c:345: parse error before '}' token
cspci.c:345: warning: type defaults to `int' in declaration of
`HANDLEINFO'
cspci.c:345: warning: data definition has no type or storage class
cspci.c:367: parse error before "HANDLEINFO"
cspci.c:367: warning: no semicolon at end of struct or union
cspci.c:373: parse error before '*' token
cspci.c:373: warning: type defaults to `int' in declaration of
`wait_head'
cspci.c:373: warning: data definition has no type or storage class
cspci.c:375: parse error before '*' token
cspci.c:375: warning: type defaults to `int' in declaration of
`wait_tail'
cspci.c:375: warning: data definition has no type or storage class
cspci.c:379: parse error before "lock"
cspci.c:379: warning: type defaults to `int' in declaration of `lock'
cspci.c:379: warning: data definition has no type or storage class
cspci.c:387: parse error before '}' token
cspci.c:395: conflicting types for `stat'
cspci.c:385: previous declaration of `stat'
cspci.c:399: parse error before '*' token
cspci.c:399: warning: type defaults to `int' in declaration of
`wait_head'
cspci.c:399: warning: data definition has no type or storage class
cspci.c:401: parse error before '*' token
cspci.c:401: warning: type defaults to `int' in declaration of
`wait_tail'
cspci.c:401: warning: data definition has no type or storage class
cspci.c:407: parse error before "cs_glock"
cspci.c:407: warning: type defaults to `int' in declaration of `cs_glock'
cspci.c:407: `SPIN_LOCK_UNLOCKED' undeclared here (not in a function)
cspci.c:407: warning: data definition has no type or storage class
cspci.c:427: warning: `struct file' declared inside parameter list
cspci.c:427: warning: its scope is only this definition or declaration,
which is probably not what you want
cspci.c:427: warning: `struct inode' declared inside parameter list
cspci.c:431: warning: `struct file' declared inside parameter list
cspci.c:431: warning: `struct inode' declared inside parameter list
cspci.c:433: warning: `struct file' declared inside parameter list
cspci.c:433: warning: `struct inode' declared inside parameter list
cspci.c:443: parse error before "HANDLEINFO"
cspci.c:445: parse error before '*' token
cspci.c:445: warning: type defaults to `int' in declaration of
`cs_removehead'
cspci.c:445: warning: data definition has no type or storage class
cspci.c:447: parse error before '*' token
cspci.c:449: parse error before '*' token
cspci.c:453: parse error before '*' token
cspci.c:497: variable `cs_fops' has initializer but incomplete type
cspci.c:511: unknown field `ioctl' specified in initializer
cspci.c:511: warning: excess elements in struct initializer
cspci.c:511: warning: (near initialization for `cs_fops')
cspci.c:513: unknown field `open' specified in initializer
cspci.c:513: warning: excess elements in struct initializer
cspci.c:513: warning: (near initialization for `cs_fops')
cspci.c:515: unknown field `release' specified in initializer
cspci.c:517: warning: excess elements in struct initializer
cspci.c:517: warning: (near initialization for `cs_fops')
cspci.c: In function `cleanup_module':
cspci.c:551: warning: implicit declaration of function `atomic_read'
cspci.c:551: union has no member named `usecount'
cspci.c:553: warning: implicit declaration of function `printk'
cspci.c: In function `cs_init':
cspci.c:575: union has no member named `usecount'
cspci.c:595: union has no member named `usecount'
cspci.c:605: warning: implicit declaration of function `kmalloc'
cspci.c:607: `GFP_KERNEL' undeclared (first use in this function)
cspci.c:607: (Each undeclared identifier is reported only once
cspci.c:607: for each function it appears in.)
cspci.c:611: union has no member named `usecount'
cspci.c:657: invalid use of undefined type `struct tq_struct'
cspci.c:659: invalid use of undefined type `struct tq_struct'
cspci.c:661: invalid use of undefined type `struct tq_struct'
cspci.c:663: invalid use of undefined type `struct tq_struct'
cspci.c:677: warning: implicit declaration of function `kfree'
cspci.c:679: union has no member named `usecount'
cspci.c:695: warning: implicit declaration of function `register_chrdev'
cspci.c:703: union has no member named `usecount'
cspci.c:711: union has no member named `usecount'
cspci.c: In function `cs_cleanup':
cspci.c:729: warning: implicit declaration of function
`unregister_chrdev'
cspci.c:745: warning: implicit declaration of function `free_irq'
cspci.c:745: dereferencing pointer to incomplete type
cspci.c:747: dereferencing pointer to incomplete type
cspci.c:749: dereferencing pointer to incomplete type
cspci.c:751: dereferencing pointer to incomplete type
cspci.c: In function `cs_scan':
cspci.c:821: warning: implicit declaration of function `pci_present'
cspci.c:845: warning: implicit declaration of function `pci_find_device'
cspci.c:849: warning: assignment makes pointer from integer without a
cast
cspci.c:863: warning: implicit declaration of function
`pci_enable_device'
cspci.c:883: dereferencing pointer to incomplete type
cspci.c:891: warning: implicit declaration of function
`pci_read_config_dword'
cspci.c:927: warning: implicit declaration of function
`pci_read_config_word'
cspci.c:941: warning: implicit declaration of function
`pci_write_config_word'
cspci.c: In function `cs_found_device':
cspci.c:1015: dereferencing pointer to incomplete type
cspci.c:1023: warning: implicit declaration of function
`pci_resource_flags'
cspci.c:1029: warning: implicit declaration of function
`pci_resource_start'
cspci.c:1029: warning: implicit declaration of function
`pci_resource_len'
cspci.c:1069: sizeof applied to an incomplete type
cspci.c:1069: `GFP_KERNEL' undeclared (first use in this function)
cspci.c:1071: sizeof applied to an incomplete type
cspci.c:1073: dereferencing pointer to incomplete type
cspci.c:1075: dereferencing pointer to incomplete type
cspci.c:1075: dereferencing pointer to incomplete type
cspci.c:1077: dereferencing pointer to incomplete type
cspci.c:1079: dereferencing pointer to incomplete type
cspci.c:1081: dereferencing pointer to incomplete type
cspci.c:1081: dereferencing pointer to incomplete type
cspci.c:1083: dereferencing pointer to incomplete type
cspci.c:1085: dereferencing pointer to incomplete type
cspci.c:1085: dereferencing pointer to incomplete type
cspci.c:1087: dereferencing pointer to incomplete type
cspci.c:1089: dereferencing pointer to incomplete type
cspci.c:1091: dereferencing pointer to incomplete type
cspci.c:1093: warning: implicit declaration of function `spin_lock_init'
cspci.c:1093: dereferencing pointer to incomplete type
cspci.c:1101: dereferencing pointer to incomplete type
cspci.c:1103: dereferencing pointer to incomplete type
cspci.c:1133: dereferencing pointer to incomplete type
cspci.c: In function `cs_probe1':
cspci.c:1153: dereferencing pointer to incomplete type
cspci.c:1153: dereferencing pointer to incomplete type
cspci.c:1155: dereferencing pointer to incomplete type
cspci.c:1157: dereferencing pointer to incomplete type
cspci.c:1161: dereferencing pointer to incomplete type
cspci.c:1161: dereferencing pointer to incomplete type
cspci.c:1165: dereferencing pointer to incomplete type
cspci.c:1179: warning: implicit declaration of function `request_irq'
cspci.c:1179: dereferencing pointer to incomplete type
cspci.c:1179: `SA_SHIRQ' undeclared (first use in this function)
cspci.c:1181: dereferencing pointer to incomplete type
cspci.c:1189: dereferencing pointer to incomplete type
cspci.c:1203: dereferencing pointer to incomplete type
cspci.c:1215: dereferencing pointer to incomplete type
cspci.c:1215: dereferencing pointer to incomplete type
cspci.c:1223: dereferencing pointer to incomplete type
cspci.c:1227: dereferencing pointer to incomplete type
cspci.c:1227: dereferencing pointer to incomplete type
cspci.c:1231: dereferencing pointer to incomplete type
cspci.c:1231: dereferencing pointer to incomplete type
cspci.c: In function `cs_reset':
cspci.c:1269: warning: implicit declaration of function
`spin_lock_irqsave'
cspci.c:1269: dereferencing pointer to incomplete type
cspci.c:1271: dereferencing pointer to incomplete type
cspci.c:1273: warning: implicit declaration of function
`spin_unlock_irqrestore'
cspci.c:1273: dereferencing pointer to incomplete type
cspci.c:1279: dereferencing pointer to incomplete type
cspci.c:1281: dereferencing pointer to incomplete type
cspci.c:1285: dereferencing pointer to incomplete type
cspci.c:1293: dereferencing pointer to incomplete type
cspci.c:1295: dereferencing pointer to incomplete type
cspci.c:1301: dereferencing pointer to incomplete type
cspci.c:1307: `jiffies' undeclared (first use in this function)
cspci.c:1311: dereferencing pointer to incomplete type
cspci.c:1321: dereferencing pointer to incomplete type
cspci.c:1343: dereferencing pointer to incomplete type
cspci.c:1347: dereferencing pointer to incomplete type
cspci.c:1357: warning: implicit declaration of function `udelay'
cspci.c:1371: dereferencing pointer to incomplete type
cspci.c:1373: dereferencing pointer to incomplete type
cspci.c:1375: dereferencing pointer to incomplete type
cspci.c:1385: dereferencing pointer to incomplete type
cspci.c:1393: dereferencing pointer to incomplete type
cspci.c:1399: dereferencing pointer to incomplete type
cspci.c:1407: dereferencing pointer to incomplete type
cspci.c:1407: dereferencing pointer to incomplete type
cspci.c:1411: dereferencing pointer to incomplete type
cspci.c:1417: dereferencing pointer to incomplete type
cspci.c: At top level:
cspci.c:1427: parse error before '*' token
cspci.c: In function `cs_resizebuffer':
cspci.c:1431: `ph' undeclared (first use in this function)
cspci.c:1437: `size' undeclared (first use in this function)
cspci.c:1439: `GFP_KERNEL' undeclared (first use in this function)
cspci.c:1459: warning: implicit declaration of function `virt_to_bus'
cspci.c: At top level:
cspci.c:1467: warning: `struct file' declared inside parameter list
cspci.c:1467: warning: `struct inode' declared inside parameter list
cspci.c:1469: conflicting types for `cs_open'
cspci.c:427: previous declaration of `cs_open'
cspci.c: In function `cs_open':
cspci.c:1471: `ph' undeclared (first use in this function)
cspci.c:1485: union has no member named `usecount'
cspci.c:1489: dereferencing pointer to incomplete type
cspci.c:1491: parse error before ')' token
cspci.c:1495: union has no member named `usecount'
cspci.c:1507: union has no member named `usecount'
cspci.c:1519: warning: implicit declaration of function
`init_waitqueue_head'
cspci.c: At top level:
cspci.c:1545: warning: `struct file' declared inside parameter list
cspci.c:1545: warning: `struct inode' declared inside parameter list
cspci.c:1547: conflicting types for `cs_release'
cspci.c:433: previous declaration of `cs_release'
cspci.c: In function `cs_release':
cspci.c:1549: `ph' undeclared (first use in this function)
cspci.c:1549: parse error before ')' token
cspci.c:1565: union has no member named `usecount'
cspci.c: At top level:
cspci.c:1575: parse error before '*' token
cspci.c: In function `still_processing':
cspci.c:1579: `ph' undeclared (first use in this function)
cspci.c: At top level:
cspci.c:1593: warning: `struct file' declared inside parameter list
cspci.c:1593: warning: `struct inode' declared inside parameter list
cspci.c:1595: conflicting types for `cs_ioctl'
cspci.c:431: previous declaration of `cs_ioctl'
cspci.c: In function `cs_ioctl':
cspci.c:1597: `ph' undeclared (first use in this function)
cspci.c:1597: parse error before ')' token
cspci.c:1645: warning: implicit declaration of function `wait_event'
cspci.c:1657: warning: implicit declaration of function `__copy_to_user'
cspci.c:1705: warning: implicit declaration of function
`__copy_from_user'
cspci.c:1779: dereferencing pointer to incomplete type
cspci.c:1801: dereferencing pointer to incomplete type
cspci.c: In function `cs_processreq':
cspci.c:1841: `ph' undeclared (first use in this function)
cspci.c: In function `cs_bottomentry':
cspci.c:1913: dereferencing pointer to incomplete type
cspci.c:1917: dereferencing pointer to incomplete type
cspci.c:1919: dereferencing pointer to incomplete type
cspci.c:1921: dereferencing pointer to incomplete type
cspci.c: In function `cs_dpc':
cspci.c:1939: `ph' undeclared (first use in this function)
cspci.c:1955: dereferencing pointer to incomplete type
cspci.c:1961: dereferencing pointer to incomplete type
cspci.c:1981: dereferencing pointer to incomplete type
cspci.c:1983: dereferencing pointer to incomplete type
cspci.c:1985: dereferencing pointer to incomplete type
cspci.c:1987: dereferencing pointer to incomplete type
cspci.c:2001: warning: implicit declaration of function
`waitqueue_active'
cspci.c:2007: warning: implicit declaration of function `wake_up'
cspci.c: At top level:
cspci.c:2051: parse error before "HANDLEINFO"
cspci.c: In function `cs_executereq':
cspci.c:2059: `ph' undeclared (first use in this function)
cspci.c:2085: `dev' undeclared (first use in this function)
cspci.c: In function `cs_requestdev':
cspci.c:2203: dereferencing pointer to incomplete type
cspci.c:2205: dereferencing pointer to incomplete type
cspci.c:2205: dereferencing pointer to incomplete type
cspci.c:2209: dereferencing pointer to incomplete type
cspci.c:2223: dereferencing pointer to incomplete type
cspci.c:2247: dereferencing pointer to incomplete type
cspci.c:2249: dereferencing pointer to incomplete type
cspci.c:2249: dereferencing pointer to incomplete type
cspci.c:2257: dereferencing pointer to incomplete type
cspci.c:2261: dereferencing pointer to incomplete type
cspci.c: In function `cs_freedev':
cspci.c:2307: dereferencing pointer to incomplete type
cspci.c:2309: dereferencing pointer to incomplete type
cspci.c:2311: dereferencing pointer to incomplete type
cspci.c:2313: dereferencing pointer to incomplete type
cspci.c: At top level:
cspci.c:2339: parse error before '*' token
cspci.c:2341: warning: return type defaults to `int'
cspci.c: In function `cs_removehead':
cspci.c:2343: `ph' undeclared (first use in this function)
cspci.c:2351: dereferencing pointer to incomplete type
cspci.c:2373: dereferencing pointer to incomplete type
cspci.c:2375: dereferencing pointer to incomplete type
cspci.c:2381: dereferencing pointer to incomplete type
cspci.c:2383: dereferencing pointer to incomplete type
cspci.c:2385: dereferencing pointer to incomplete type
cspci.c:2389: dereferencing pointer to incomplete type
cspci.c: At top level:
cspci.c:2475: parse error before '*' token
cspci.c: In function `cs_queuereq':
cspci.c:2513: `ph' undeclared (first use in this function)
cspci.c:2533: request for member `next' in something not a structure or
union
cspci.c:2571: dereferencing pointer to incomplete type
cspci.c:2577: dereferencing pointer to incomplete type
cspci.c:2579: dereferencing pointer to incomplete type
cspci.c:2583: dereferencing pointer to incomplete type
cspci.c:2585: dereferencing pointer to incomplete type
cspci.c:2589: dereferencing pointer to incomplete type
cspci.c:2593: dereferencing pointer to incomplete type
cspci.c: At top level:
cspci.c:2625: parse error before '*' token
cspci.c: In function `cs_dequeuereq':
cspci.c:2631: `p' undeclared (first use in this function)
cspci.c:2647: `ph' undeclared (first use in this function)
cspci.c:2743: dereferencing pointer to incomplete type
cspci.c:2745: dereferencing pointer to incomplete type
cspci.c:2749: dereferencing pointer to incomplete type
cspci.c:2779: dereferencing pointer to incomplete type
cspci.c:2787: dereferencing pointer to incomplete type
cspci.c: In function `cs_interrupt':
cspci.c:2851: dereferencing pointer to incomplete type
cspci.c:2879: dereferencing pointer to incomplete type
cspci.c:2881: dereferencing pointer to incomplete type
cspci.c:2893: dereferencing pointer to incomplete type
cspci.c:2899: dereferencing pointer to incomplete type
cspci.c:2901: dereferencing pointer to incomplete type
cspci.c:2907: dereferencing pointer to incomplete type
cspci.c:2907: dereferencing pointer to incomplete type
cspci.c:2909: dereferencing pointer to incomplete type
cspci.c:2917: dereferencing pointer to incomplete type
cspci.c:2921: dereferencing pointer to incomplete type
cspci.c:2929: dereferencing pointer to incomplete type
cspci.c:2929: dereferencing pointer to incomplete type
cspci.c:2933: dereferencing pointer to incomplete type
cspci.c:2945: dereferencing pointer to incomplete type
cspci.c:2949: dereferencing pointer to incomplete type
cspci.c:2957: dereferencing pointer to incomplete type
cspci.c:2965: dereferencing pointer to incomplete type
cspci.c:2965: dereferencing pointer to incomplete type
cspci.c:2973: dereferencing pointer to incomplete type
cspci.c:2973: dereferencing pointer to incomplete type
cspci.c:2975: dereferencing pointer to incomplete type
cspci.c:2981: dereferencing pointer to incomplete type
cspci.c:2987: dereferencing pointer to incomplete type
cspci.c:2999: dereferencing pointer to incomplete type
cspci.c:3001: dereferencing pointer to incomplete type
cspci.c:3029: warning: implicit declaration of function `queue_task'
cspci.c:3029: `tq_immediate' undeclared (first use in this function)
cspci.c:3041: dereferencing pointer to incomplete type
cspci.c: At top level:
cspci.c:3053: parse error before '*' token
cspci.c: In function `cs_cancel':
cspci.c:3059: `ph' undeclared (first use in this function)
cspci.c:3113: warning: implicit declaration of function `sleep_on'
cspci.c: At top level:
cspci.c:487: storage size of `cs_task' isn't known
cspci.c:497: storage size of `cs_fops' isn't known
make: *** [cspci.o] Error 1