[tulip] Errors compiling tulip driver - help needed

jim.smith.nl@sympatico.ca jim.smith.nl@sympatico.ca
Mon Jan 13 14:56:01 2003


Hi listers,

this is my first post to the list. I'm a newby when it comes
to compiling anything other than the Linux kernel. Please bare
when me. I have a Linksys 10/100 Mbps Network card in my computer.
I am running Slackware Linux with kernel 2.4.18. I have downloaded
files Makefile, kern_compat.h, pci-scan.c, pci-scan.h and tulip.c
from ftp.scyld.com into a work directory. I then submitted the
compile command like so :

root@john:~/drivers/nic/linksys/work#
gcc -DMODULE -D__KERNEL__ -I/usr/src/linux/net/inet -Wall -Wstrict-prototype
s -O6 -c tulip.c `[ -f /usr/include/linux/modversions.h ] &&
echo -DMODVERSIONS`

I immediately get the following errors :

[truncated output]
/usr/include/asm/pci.h: At top level:
/usr/include/asm/pci.h:101: parse error before `size_t'
/usr/include/asm/pci.h:102: warning: function declaration isn't a prototype
/usr/include/asm/pci.h: In function `pci_map_page':
/usr/include/asm/pci.h:103: `direction' undeclared (first use in this
function)
/usr/include/asm/pci.h:106: `page' undeclared (first use in this function)
/usr/include/asm/pci.h:106: `offset' undeclared (first use in this function)
/usr/include/asm/pci.h:107: warning: control reaches end of non-void
function
/usr/include/asm/pci.h: At top level:
/usr/include/asm/pci.h:110: parse error before `size_t'
/usr/include/asm/pci.h:111: warning: function declaration isn't a prototype
/usr/include/asm/pci.h: In function `pci_unmap_page':
/usr/include/asm/pci.h:112: `direction' undeclared (first use in this
function)
/usr/include/asm/pci.h: At top level:
/usr/include/asm/pci.h:190: parse error before `size_t'
/usr/include/asm/pci.h:191: warning: function declaration isn't a prototype
/usr/include/asm/pci.h: In function `pci_dma_sync_single':
/usr/include/asm/pci.h:192: `direction' undeclared (first use in this
function)
/usr/include/asm/pci.h: At top level:
/usr/include/asm/pci.h:255: parse error before `size_t'
/usr/include/asm/pci.h:256: warning: function declaration isn't a prototype
In file included from /usr/include/linux/highmem.h:5,
from /usr/include/linux/skbuff.h:27,
from /usr/include/linux/netdevice.h:146,
from tulip.c:162:
/usr/include/asm/pgalloc.h: In function `flush_tlb_mm':
/usr/include/asm/pgalloc.h:183: dereferencing pointer to incomplete type
/usr/include/asm/pgalloc.h: In function `flush_tlb_page':
/usr/include/asm/pgalloc.h:190: dereferencing pointer to incomplete type
/usr/include/asm/pgalloc.h: In function `flush_tlb_range':
/usr/include/asm/pgalloc.h:197: dereferencing pointer to incomplete type
In file included from /usr/include/linux/netdevice.h:146,
from tulip.c:162:
/usr/include/linux/skbuff.h: At top level:
/usr/include/linux/skbuff.h:136: field `stamp' has incomplete type
tulip.c: In function `strnlen':
/usr/include/asm/string.h:431: warning: `__res' might be used uninitialized
in this function
tulip.c: At top level:
/usr/include/linux/coda.h:261: storage size of `va_atime' isn't known
/usr/include/linux/coda.h:262: storage size of `va_mtime' isn't known
/usr/include/linux/coda.h:263: storage size of `va_ctime' isn't known
/usr/include/linux/coda.h:566: storage size of `attr' isn't known
/usr/include/linux/fs.h:529: storage size of `f_owner' isn't known
/usr/include/linux/reiserfs_fs_sb.h:303: storage size of `j_dummy_inode'
isn't known
/usr/include/linux/reiserfs_fs_sb.h:305: storage size of `j_journal_list'
isn't known
/usr/include/linux/sched.h:361: storage size of `times' isn't known
root@john:~/drivers/nic/linksys/work#

I know that the output is suppose to go to /lib/modules/2.4.18/net/tulip.o
but there is nothing there!
I have a feeling that I am missing something really simple.

Any help is greatly appreciated,

Jim.