I have hudge problems in compiling the Kernel-Module in
Suse 8.1
see listing of output:
What I'm doing wrong??
****************************************
linux:/home/hannes/Technik/pjb_neu/jukeboxmgr/PJB100/usbdrv
# gcc -D__kernel__ -I/usr/src/linux/include -DMODULE
-Wall -O2 -c cpqpjb.c -ocpqpjb.o
In file included from
/usr/src/linux/include/linux/sched.h:15,
from cpqpjb.c:36:
/usr/src/linux/include/linux/timex.h:173: field `time'
has incomplete type
In file included from
/usr/src/linux/include/linux/sched.h:91,
from cpqpjb.c:36:
/usr/src/linux/include/asm/processor.h:55: field
`pte_quick' has incomplete type
In file included from
/usr/src/linux/include/linux/miscdevice.h:4,
from cpqpjb.c:39:
/usr/src/linux/include/linux/devfs_fs_kernel.h:189:
warning: `struct inode' declared inside parameter list
/usr/src/linux/include/linux/devfs_fs_kernel.h:189:
warning: its scope is only this definition or
declaration, which is probably not what you want
/usr/src/linux/include/linux/devfs_fs_kernel.h:245:
warning: `struct file_operations' declared inside
parameter list
/usr/src/linux/include/linux/devfs_fs_kernel.h: In
function `devfs_register_chrdev':
/usr/src/linux/include/linux/devfs_fs_kernel.h:247:
warning: implicit declaration of function `register_chrdev'
/usr/src/linux/include/linux/devfs_fs_kernel.h: At top
level:
/usr/src/linux/include/linux/devfs_fs_kernel.h:250:
warning: `struct block_device_operations' declared
inside parameter list
/usr/src/linux/include/linux/devfs_fs_kernel.h: In
function `devfs_register_blkdev':
/usr/src/linux/include/linux/devfs_fs_kernel.h:252:
warning: implicit declaration of function `register_blkdev'
/usr/src/linux/include/linux/devfs_fs_kernel.h: In
function `devfs_unregister_chrdev':
/usr/src/linux/include/linux/devfs_fs_kernel.h:256:
warning: implicit declaration of function
`unregister_chrdev'
/usr/src/linux/include/linux/devfs_fs_kernel.h: In
function `devfs_unregister_blkdev':
/usr/src/linux/include/linux/devfs_fs_kernel.h:260:
warning: implicit declaration of function
`unregister_blkdev'
/usr/src/linux/include/linux/devfs_fs_kernel.h: At top
level:
/usr/src/linux/include/linux/devfs_fs_kernel.h:289:
parse error before "devfs_alloc_devnum"
/usr/src/linux/include/linux/devfs_fs_kernel.h:290:
warning: return type defaults to `int'
/usr/src/linux/include/linux/devfs_fs_kernel.h: In
function `devfs_alloc_devnum':
/usr/src/linux/include/linux/devfs_fs_kernel.h:291:
`NODEV' undeclared (first use in this function)
/usr/src/linux/include/linux/devfs_fs_kernel.h:291:
(Each undeclared identifier is reported only once
/usr/src/linux/include/linux/devfs_fs_kernel.h:291: for
each function it appears in.)
/usr/src/linux/include/linux/devfs_fs_kernel.h: At top
level:
/usr/src/linux/include/linux/devfs_fs_kernel.h:294:
parse error before "kdev_t"
In file included from cpqpjb.c:43:
/usr/src/linux/include/linux/malloc.h:4:2: warning:
#warning linux/malloc.h is deprecated, use linux/slab.h
instead.
In file included from /usr/include/stdlib.h:390,
from /usr/include/usb.h:5,
from cpqpjb.c:46:
/usr/include/sys/types.h:40: conflicting types for `fsid_t'
/usr/src/linux/include/asm/statfs.h:8: previous
declaration of `fsid_t'
/usr/include/sys/types.h:61: conflicting types for `dev_t'
/usr/src/linux/include/linux/types.h:14: previous
declaration of `dev_t'
/usr/include/sys/types.h:66: conflicting types for `gid_t'
/usr/src/linux/include/linux/types.h:41: previous
declaration of `gid_t'
/usr/include/sys/types.h:71: conflicting types for `mode_t'
/usr/src/linux/include/linux/types.h:16: previous
declaration of `mode_t'
/usr/include/sys/types.h:76: conflicting types for
`nlink_t'
/usr/src/linux/include/linux/types.h:17: previous
declaration of `nlink_t'
/usr/include/sys/types.h:81: conflicting types for `uid_t'
/usr/src/linux/include/linux/types.h:40: previous
declaration of `uid_t'
In file included from /usr/include/sys/types.h:215,
from /usr/include/stdlib.h:390,
from /usr/include/usb.h:5,
from cpqpjb.c:46:
/usr/include/sys/select.h:38: conflicting types for
`sigset_t'
/usr/src/linux/include/asm/signal.h:27: previous
declaration of `sigset_t'
In file included from /usr/include/sys/select.h:44,
from /usr/include/sys/types.h:215,
from /usr/include/stdlib.h:390,
from /usr/include/usb.h:5,
from cpqpjb.c:46:
/usr/include/time.h:107: redefinition of `struct timespec'
In file included from /usr/include/sys/select.h:46,
from /usr/include/sys/types.h:215,
from /usr/include/stdlib.h:390,
from /usr/include/usb.h:5,
from cpqpjb.c:46:
/usr/include/bits/time.h:68: redefinition of `struct
timeval'
In file included from /usr/include/sys/types.h:215,
from /usr/include/stdlib.h:390,
from /usr/include/usb.h:5,
from cpqpjb.c:46:
/usr/include/sys/select.h:74: conflicting types for
`fd_set'
/usr/src/linux/include/linux/types.h:13: previous
declaration of `fd_set'
In file included from /usr/include/usb.h:5,
from cpqpjb.c:46:
/usr/include/stdlib.h:485: unnamed fields of type other
than struct or union are not allowed
cpqpjb.c:88: parse error before "wait_queue_head_t"
cpqpjb.c:88: warning: no semicolon at end of struct or
union
cpqpjb.c:100: warning: `struct file' declared inside
parameter list
cpqpjb.c: In function `pjb_read':
cpqpjb.c:105: dereferencing pointer to incomplete type
cpqpjb.c:108: dereferencing pointer to incomplete type
cpqpjb.c:120: warning: implicit declaration of function
`signal_pending'
cpqpjb.c:120: `current' undeclared (first use in this
function)
cpqpjb.c:121: dereferencing pointer to incomplete type
cpqpjb.c:124: dereferencing pointer to incomplete type
cpqpjb.c:125: dereferencing pointer to incomplete type
cpqpjb.c:129: warning: implicit declaration of function
`usb_bulk_msg'
cpqpjb.c:129: dereferencing pointer to incomplete type
cpqpjb.c:130: warning: implicit declaration of function
`usb_rcvbulkpipe'
cpqpjb.c:130: dereferencing pointer to incomplete type
cpqpjb.c:130: dereferencing pointer to incomplete type
cpqpjb.c:131: dereferencing pointer to incomplete type
cpqpjb.c:137: warning: implicit declaration of function
`copy_to_user'
cpqpjb.c:137: dereferencing pointer to incomplete type
cpqpjb.c:139: dereferencing pointer to incomplete type
cpqpjb.c:142: `USB_ST_TIMEOUT' undeclared (first use in
this function)
cpqpjb.c:144: warning: implicit declaration of function
`interruptible_sleep_on_timeout'
cpqpjb.c:144: dereferencing pointer to incomplete type
cpqpjb.c:149: dereferencing pointer to incomplete type
cpqpjb.c: At top level:
cpqpjb.c:154: warning: `struct file' declared inside
parameter list
cpqpjb.c: In function `pjb_write':
cpqpjb.c:159: dereferencing pointer to incomplete type
cpqpjb.c:162: dereferencing pointer to incomplete type
cpqpjb.c:170: dereferencing pointer to incomplete type
cpqpjb.c:178: warning: implicit declaration of function
`copy_from_user'
cpqpjb.c:186: `current' undeclared (first use in this
function)
cpqpjb.c:191: dereferencing pointer to incomplete type
cpqpjb.c:197: dereferencing pointer to incomplete type
cpqpjb.c:198: warning: implicit declaration of function
`usb_sndbulkpipe'
cpqpjb.c:198: dereferencing pointer to incomplete type
cpqpjb.c:198: dereferencing pointer to incomplete type
cpqpjb.c:212: `USB_ST_TIMEOUT' undeclared (first use in
this function)
cpqpjb.c:218: dereferencing pointer to incomplete type
cpqpjb.c:231: dereferencing pointer to incomplete type
cpqpjb.c: At top level:
cpqpjb.c:238: warning: `struct file' declared inside
parameter list
cpqpjb.c:238: warning: `struct inode' declared inside
parameter list
cpqpjb.c: In function `pjb_open':
cpqpjb.c:244: dereferencing pointer to incomplete type
cpqpjb.c:246: dereferencing pointer to incomplete type
cpqpjb.c:246: warning: implicit declaration of function
`kmalloc'
cpqpjb.c:246: `GFP_KERNEL' undeclared (first use in
this function)
cpqpjb.c:247: dereferencing pointer to incomplete type
cpqpjb.c:257: dereferencing pointer to incomplete type
cpqpjb.c:258: dereferencing pointer to incomplete type
cpqpjb.c: At top level:
cpqpjb.c:262: warning: `struct file' declared inside
parameter list
cpqpjb.c:262: warning: `struct inode' declared inside
parameter list
cpqpjb.c: In function `pjb_release':
cpqpjb.c:266: dereferencing pointer to incomplete type
cpqpjb.c:267: warning: implicit declaration of function
`kfree'
cpqpjb.c:267: dereferencing pointer to incomplete type
cpqpjb.c:268: dereferencing pointer to incomplete type
cpqpjb.c: At top level:
cpqpjb.c:281: variable `usb_pjb_fops' has initializer
but incomplete type
cpqpjb.c:282: warning: excess elements in struct
initializer
cpqpjb.c:282: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:283: warning: excess elements in struct
initializer
cpqpjb.c:283: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:284: warning: excess elements in struct
initializer
cpqpjb.c:284: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:285: warning: excess elements in struct
initializer
cpqpjb.c:285: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:286: warning: excess elements in struct
initializer
cpqpjb.c:286: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:287: warning: excess elements in struct
initializer
cpqpjb.c:287: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:288: warning: excess elements in struct
initializer
cpqpjb.c:288: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:289: warning: excess elements in struct
initializer
cpqpjb.c:289: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:290: warning: excess elements in struct
initializer
cpqpjb.c:290: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:291: warning: excess elements in struct
initializer
cpqpjb.c:291: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:292: warning: excess elements in struct
initializer
cpqpjb.c:292: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:293: warning: excess elements in struct
initializer
cpqpjb.c:293: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:294: warning: excess elements in struct
initializer
cpqpjb.c:294: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:295: warning: excess elements in struct
initializer
cpqpjb.c:295: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c:296: warning: excess elements in struct
initializer
cpqpjb.c:296: warning: (near initialization for
`usb_pjb_fops')
cpqpjb.c: In function `pjb_probe':
cpqpjb.c:318: warning: implicit declaration of function
`printk'
cpqpjb.c:318: `KERN_INFO' undeclared (first use in this
function)
cpqpjb.c:318: parse error before string constant
cpqpjb.c:335: parse error before string constant
cpqpjb.c:340: structure has no member named `actconfig'
cpqpjb.c:343: parse error before string constant
cpqpjb.c:348: dereferencing pointer to incomplete type
cpqpjb.c:349: dereferencing pointer to incomplete type
cpqpjb.c:350: parse error before string constant
cpqpjb.c:352: parse error before string constant
cpqpjb.c:358: dereferencing pointer to incomplete type
cpqpjb.c:358: dereferencing pointer to incomplete type
cpqpjb.c:360: `USB_ENDPOINT_NUMBER_MASK' undeclared
(first use in this function)
cpqpjb.c:362: `USB_DIR_IN' undeclared (first use in
this function)
cpqpjb.c:363: dereferencing pointer to incomplete type
cpqpjb.c:365: dereferencing pointer to incomplete type
cpqpjb.c:370: dereferencing pointer to incomplete type
cpqpjb.c:372: dereferencing pointer to incomplete type
cpqpjb.c:374: dereferencing pointer to incomplete type
cpqpjb.c:374: dereferencing pointer to incomplete type
cpqpjb.c:376: `USB_ENDPOINT_XFER_BULK' undeclared
(first use in this function)
cpqpjb.c:378: parse error before string constant
cpqpjb.c:379: dereferencing pointer to incomplete type
cpqpjb.c:384: warning: passing arg 1 of
`usb_set_configuration' from incompatible pointer type
cpqpjb.c:385: parse error before string constant
cpqpjb.c:386: dereferencing pointer to incomplete type
cpqpjb.c:390: dereferencing pointer to incomplete type
cpqpjb.c: In function `pjb_disconnect':
cpqpjb.c:398: dereferencing pointer to incomplete type
cpqpjb.c:408: dereferencing pointer to incomplete type
cpqpjb.c:409: dereferencing pointer to incomplete type
cpqpjb.c:411: `KERN_INFO' undeclared (first use in this
function)
cpqpjb.c:411: parse error before string constant
cpqpjb.c: At top level:
cpqpjb.c:414: variable `pjb_driver' has initializer but
incomplete type
cpqpjb.c:415: warning: excess elements in struct
initializer
cpqpjb.c:415: warning: (near initialization for
`pjb_driver')
cpqpjb.c:416: warning: excess elements in struct
initializer
cpqpjb.c:416: warning: (near initialization for
`pjb_driver')
cpqpjb.c:417: warning: excess elements in struct
initializer
cpqpjb.c:417: warning: (near initialization for
`pjb_driver')
cpqpjb.c:418: extra brace group at end of initializer
cpqpjb.c:418: (near initialization for `pjb_driver')
cpqpjb.c:418: warning: excess elements in struct
initializer
cpqpjb.c:418: warning: (near initialization for
`pjb_driver')
cpqpjb.c:420: warning: excess elements in struct
initializer
cpqpjb.c:420: warning: (near initialization for
`pjb_driver')
cpqpjb.c:422: warning: excess elements in struct
initializer
cpqpjb.c:422: warning: (near initialization for
`pjb_driver')
cpqpjb.c: In function `usb_cpqpjb_init':
cpqpjb.c:432: dereferencing pointer to incomplete type
cpqpjb.c:433: dereferencing pointer to incomplete type
cpqpjb.c:434: dereferencing pointer to incomplete type
cpqpjb.c:435: warning: implicit declaration of function
`init_waitqueue_head'
cpqpjb.c:435: dereferencing pointer to incomplete type
cpqpjb.c:437: `KERN_INFO' undeclared (first use in this
function)
cpqpjb.c:437: parse error before string constant
cpqpjb.c:439: warning: implicit declaration of function
`usb_register'
cpqpjb.c: In function `usb_cpqpjb_cleanup':
cpqpjb.c:451: warning: implicit declaration of function
`usb_deregister'
cpqpjb.c: At top level:
cpqpjb.c:96: storage size of `static_pjb_state' isn't known
cpqpjb.c:281: storage size of `usb_pjb_fops' isn't known
cpqpjb.c:414: storage size of `pjb_driver' isn't known
linux:/home/hannes/Technik/pjb_neu/jukeboxmgr/PJB100/usbdrv
#
Logged In: NO
This driver specifies that it works for the Linux 2.3
series, not 2.4. And I presume, Suse 8 uses gcc 3.2?
I'm having the same problems with RedHat 8
Any plans to update the driver? (please say yes :))
thanks
Clinton