- Posts: 107
- Thank you received: 0
Module compilition problem
I want to install a module for my nic card Myson technologies, so i downloaded - Myson_NIC.tar.gz
1.I copy the source code mtd80x.c to Linux,
but when i compile !!!!! i got this :
root@Gigaworkstation:~# gcc -DMODULE -D__KERNEL__ -I/usr/src/linux/net/inet -Wal
l
-Wstrict-prototypes -O6 -c mtd80x.c
In file included from mtd80x.c:73:
/usr/include/linux/malloc.h:4:2: warning: #warning linux/malloc.h is deprecated, use linux/slab.h instead.
mtd80x.c: In function `pci_etherdev_probe':
mtd80x.c:564: error:
structure has no member named `base_address'
mtd80x.c: In function `mtd80x_probe1':
mtd80x.c:654: warning: passing arg 1 of `init_etherdev' from incompatible pointe r type
mtd80x.c:654: warning: assignment from incompatible pointer type
mtd80x.c:657: error:
dereferencing pointer to incomplete type
mtd80x.c:661: error: dereferencing pointer to
incomplete type
mtd80x.c:663: error: dereferencing pointer to incomplete type
mtd80x.c:665:
error: dereferencing pointer to incomplete type
mtd80x.c:668: error: dereferencing pointer to
incomplete type
mtd80x.c:674: error: dereferencing pointer to incomplete type
mtd80x.c:675:
error: dereferencing pointer to incomplete type
mtd80x.c:680: error: dereferencing pointer to
incomplete type
mtd80x.c:702: error: dereferencing pointer to incomplete type
mtd80x.c:726:
error: dereferencing pointer to incomplete type
mtd80x.c:734: error: dereferencing pointer to
incomplete type
mtd80x.c:740: error: dereferencing pointer to incomplete type
mtd80x.c:741:
error: dereferencing pointer to incomplete type
mtd80x.c:759: error: dereferencing pointer to
incomplete type
mtd80x.c:773: error: dereferencing pointer to incomplete type
mtd80x.c:778:
error: dereferencing pointer to incomplete type
mtd80x.c:779: error: dereferencing pointer to
incomplete type
mtd80x.c:780: error: dereferencing pointer to incomplete type
mtd80x.c:781:
error: dereferencing pointer to incomplete type
mtd80x.c:782: error: dereferencing pointer to
incomplete type
mtd80x.c:783: error: dereferencing pointer to incomplete type
mtd80x.c: At top
level:
mtd80x.c:794: warning: function declaration isn't a prototype
mtd80x.c: In function
`mdio_read':
mtd80x.c:880: error: dereferencing pointer to incomplete type
mtd80x.c: In
function `mdio_write':
mtd80x.c:919: error: dereferencing pointer to incomplete type
mtd80x.c:
In function `netdev_open':
mtd80x.c:953: error: dereferencing pointer to incomplete type
mtd80x.c:954: error: dereferencing pointer to incomplete type
mtd80x.c:958: error:
dereferencing pointer to incomplete type
mtd80x.c:958: error: dereferencing pointer to
incomplete type
mtd80x.c:1021: error: dereferencing pointer to incomplete type
mtd80x.c:1022:
error: dereferencing pointer to incomplete type
mtd80x.c:1024: error: dereferencing pointer to
incomplete type
mtd80x.c:1026: error: dereferencing pointer to incomplete type
mtd80x.c:1036:
error: dereferencing pointer to incomplete type
mtd80x.c:1043: error: dereferencing pointer to
incomplete type
mtd80x.c: In function `getlinkstatus':
mtd80x.c:1063: error: dereferencing
pointer to incomplete type
mtd80x.c:1072: error: dereferencing pointer to incomplete type
mtd80x.c: In function `getlinktype':
mtd80x.c:1101: error: dereferencing pointer to incomplete
type
mtd80x.c:1105: error: dereferencing pointer to incomplete type
mtd80x.c:1109: error:
dereferencing pointer to incomplete type
mtd80x.c: In function `allocate_rx_buffers':
mtd80x.c:1197: error: dereferencing pointer to incomplete type
mtd80x.c:1210: warning:
assignment from incompatible pointer type
mtd80x.c: In function `netdev_timer':
mtd80x.c:1221:
error: dereferencing pointer to incomplete type
mtd80x.c:1222: error: dereferencing pointer to
incomplete type
mtd80x.c:1229: error: dereferencing pointer to incomplete type
mtd80x.c: In
function `tx_timeout':
mtd80x.c:1256: error: dereferencing pointer to incomplete type
mtd80x.c:1257: error: dereferencing pointer to incomplete type
mtd80x.c:1260: error:
dereferencing pointer to incomplete type
mtd80x.c:1278: error: dereferencing pointer to
incomplete type
mtd80x.c:1279: error: dereferencing pointer to incomplete type
mtd80x.c:1282:
error: dereferencing pointer to incomplete type
mtd80x.c: In function `init_ring':
mtd80x.c:1292: error: dereferencing pointer to incomplete type
mtd80x.c:1296: error:
dereferencing pointer to incomplete type
mtd80x.c:1296: error: dereferencing pointer to
incomplete type
mtd80x.c:1328: warning: assignment from incompatible pointer type
mtd80x.c: In
function `start_tx':
mtd80x.c:1358: error: dereferencing pointer to incomplete type
mtd80x.c:1362: error: dereferencing pointer to incomplete type
mtd80x.c:1415: error:
dereferencing pointer to incomplete type
mtd80x.c:1416: error: dereferencing pointer to
incomplete type
mtd80x.c: In function `reset_rx_descriptors':
mtd80x.c:1440: error:
dereferencing pointer to incomplete type
mtd80x.c:1442: error: dereferencing pointer to
incomplete type
mtd80x.c:1449: error: dereferencing pointer to incomplete type
mtd80x.c:1450:
error: dereferencing pointer to incomplete type
mtd80x.c: In function `intr_handler':
mtd80x.c:1463: error: dereferencing pointer to incomplete type
mtd80x.c:1470: error:
dereferencing pointer to incomplete type
mtd80x.c:1475: error: dereferencing pointer to
incomplete type
mtd80x.c:1476: error: dereferencing pointer to incomplete type
mtd80x.c:1480:
error: dereferencing pointer to incomplete type
mtd80x.c:1483: error: dereferencing pointer to
incomplete type
mtd80x.c:1484: error: dereferencing pointer to incomplete type
mtd80x.c:1506:
error: dereferencing pointer to incomplete type
mtd80x.c:1609: error: `NET_BH' undeclared
(first use in this function)
mtd80x.c:1609: error: (Each undeclared identifier is reported only
once
mtd80x.c:1609: error: for each function it appears in.)
mtd80x.c:1614: error:
dereferencing pointer to incomplete type
mtd80x.c:1628: error: dereferencing pointer to
incomplete type
mtd80x.c:1631: error: dereferencing pointer to incomplete type
mtd80x.c: In
function `netdev_rx':
mtd80x.c:1646: error: dereferencing pointer to incomplete type
mtd80x.c:1665: error: dereferencing pointer to incomplete type
mtd80x.c:1735: warning:
assignment from incompatible pointer type
mtd80x.c:1755: warning: passing arg 2 of
`eth_type_trans' from incompatible poin
ter type
mtd80x.c:1757: error: dereferencing pointer to
incomplete type
mtd80x.c:1773: warning: assignment from incompatible pointer type
mtd80x.c: At
top level:
mtd80x.c:1792: error: conflicting types for `get_stats'
mtd80x.c:482: error:
previous declaration of `get_stats'
mtd80x.c: In function `get_stats':
mtd80x.c:1793: error:
dereferencing pointer to incomplete type
mtd80x.c:1794: error: dereferencing pointer to
incomplete type
mtd80x.c:1797: error: dereferencing pointer to incomplete type
mtd80x.c:1803:
warning: return from incompatible pointer type
mtd80x.c: In function `set_rx_mode':
mtd80x.c:1830: error: dereferencing pointer to incomplete type
mtd80x.c:1831: error:
dereferencing pointer to incomplete type
mtd80x.c:1835: error: dereferencing pointer to
incomplete type
mtd80x.c:1838: error: dereferencing pointer to incomplete type
mtd80x.c:1843:
error: dereferencing pointer to incomplete type
mtd80x.c:1844: error: dereferencing pointer to
incomplete type
mtd80x.c:1856: error: dereferencing pointer to incomplete type
mtd80x.c:1856:
error: dereferencing pointer to incomplete type
mtd80x.c:1856: warning: value computed is not
used
mtd80x.c: In function `mii_ioctl':
mtd80x.c:1883: error: dereferencing pointer to
incomplete type
mtd80x.c: In function `netdev_close':
mtd80x.c:1901: error: dereferencing
pointer to incomplete type
mtd80x.c:1902: error: dereferencing pointer to incomplete type
mtd80x.c:1905: error: dereferencing pointer to incomplete type
mtd80x.c:1906: error:
dereferencing pointer to incomplete type
mtd80x.c:1936: error: dereferencing pointer to
incomplete type
mtd80x.c: In function `cleanup_module':
mtd80x.c:1992: error: dereferencing
pointer to incomplete type
mtd80x.c:1993: warning: passing arg 1 of `unregister_netdev' from
incompatible pointer type
mtd80x.c:1996: error: dereferencing pointer to incomplete type
how can I solve the problem !
Thanks for your help.
There is a driver for Myson NIC included in the linux kernel (CONFIG_FEALNX). In the menuconfig interface it should be available under Device Drivers > Network Device support > Ethernet (10 or 100mbit). It supports all the Mysom MTD-800 based cards, try enabling it and recompile the kernel.
Let us know of how it goes!
RedRanger
"I'd Rather You Hate Me For Everything I Am Than Love Me For Something I'm Not."
Be Awesome