[root@myhost modules]# gcc -DMODULE -D__KERNEL__ -O6 -c myson803.c In file included from /usr/include/linux/sched.h:16, from /usr/include/linux/module.h:9, from myson803.c:112: /usr/include/linux/signal.h:2:2: warning: #warning "You should include . This time I will do it for you." In file included from /usr/include/linux/resource.h:4, from /usr/include/linux/sched.h:79, from /usr/include/linux/module.h:9, from myson803.c:112: /usr/include/linux/time.h:9: error: redefinition of 'struct timespec' /usr/include/linux/time.h:15: error: redefinition of 'struct timeval' /usr/include/linux/time.h:20: error: redefinition of 'struct timezone' /usr/include/linux/time.h:47: error: redefinition of 'struct itimerval' In file included from /usr/include/linux/resource.h:68, from /usr/include/linux/sched.h:79, from /usr/include/linux/module.h:9, from myson803.c:112: /usr/include/asm/resource.h:4:34: error: asm-generic/resource.h: No such file or directory In file included from myson803.c:112: /usr/include/linux/module.h:41: error: field 'attr' has incomplete type /usr/include/linux/module.h:49: error: field 'kobj' has incomplete type myson803.c:115:26: error: linux/string.h: No such file or directory myson803.c:116:25: error: linux/timer.h: No such file or directory myson803.c:120:24: error: linux/slab.h: No such file or directory In file included from /usr/include/asm/hardirq.h:5, from /usr/include/linux/interrupt.h:9, from myson803.c:124: /usr/include/linux/irq.h:17:27: error: linux/cpumask.h: No such file or directory In file included from /usr/include/linux/irq.h:19, from /usr/include/asm/hardirq.h:5, from /usr/include/linux/interrupt.h:9, from myson803.c:124: /usr/include/asm/irq.h:15:25: error: irq_vectors.h: No such file or directory /usr/include/asm/irq.h:16:29: error: asm/thread_info.h: No such file or directory In file included from /usr/include/asm/hardirq.h:5, from /usr/include/linux/interrupt.h:9, from myson803.c:124: /usr/include/linux/irq.h:47: error: expected declaration specifiers or '...' before 'cpumask_t' /usr/include/linux/irq.h:67: error: expected specifier-qualifier-list before 'spinlock_t' /usr/include/linux/irq.h:68: error: 'CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function) /usr/include/linux/irq.h:68: error: requested alignment is not a constant /usr/include/linux/irq.h:70: error: 'NR_IRQS' undeclared here (not in a function) In file included from /usr/include/linux/irq.h:72, from /usr/include/asm/hardirq.h:5, from /usr/include/linux/interrupt.h:9, from myson803.c:124: /usr/include/asm/hw_irq.h:15:27: error: linux/profile.h: No such file or directory /usr/include/asm/hw_irq.h:18:26: error: asm/sections.h: No such file or directory In file included from /usr/include/linux/irq.h:72, from /usr/include/asm/hardirq.h:5, from /usr/include/linux/interrupt.h:9, from myson803.c:124: /usr/include/asm/hw_irq.h:27: error: 'NR_IRQ_VECTORS' undeclared here (not in a function) In file included from /usr/include/linux/interrupt.h:9, from myson803.c:124: /usr/include/asm/hardirq.h:12: error: requested alignment is not a constant /usr/include/asm/hardirq.h:14: error: expected declaration specifiers or '...' before 'irq_stat' In file included from myson803.c:124: /usr/include/linux/interrupt.h:36: error: expected specifier-qualifier-list before 'cpumask_t' /usr/include/linux/interrupt.h:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cli' /usr/include/linux/interrupt.h:65: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'sti' /usr/include/linux/interrupt.h:69: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'save_flags' /usr/include/linux/interrupt.h:74: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'restore_flags' /usr/include/linux/interrupt.h:79: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'save_and_cli' myson803.c:127:31: error: linux/etherdevice.h: No such file or directory In file included from myson803.c:128: /usr/include/linux/skbuff.h:24:26: error: net/checksum.h: No such file or directory In file included from myson803.c:128: /usr/include/linux/skbuff.h:109: error: expected specifier-qualifier-list before 'spinlock_t' /usr/include/linux/skbuff.h:134: error: variable-size type declared outside of any function myson803.c:129:25: error: linux/delay.h: No such file or directory In file included from myson803.c:130: /usr/include/asm/processor.h:21:24: error: asm/percpu.h: No such file or directory In file included from myson803.c:130: /usr/include/asm/processor.h:68: error: requested alignment is not a constant /usr/include/asm/processor.h:89: error: expected declaration specifiers or '...' before 'init_tss' /usr/include/asm/processor.h:89: error: conflicting types for 'DECLARE_PER_CPU' /usr/include/asm/hardirq.h:14: error: previous declaration of 'DECLARE_PER_CPU' was here In file included from myson803.c:132: /usr/include/asm/io.h:1:2: warning: #warning "You should include . This time I will do it for you." myson803.c:138:22: error: pci-scan.h: No such file or directory myson803.c:139:25: error: kern_compat.h: No such file or directory myson803.c:297: error: array type has incomplete element type myson803.c:299: error: 'PCI_USES_MASTER' undeclared here (not in a function) myson803.c:299: error: 'PCI_USES_MEM' undeclared here (not in a function) myson803.c:299: error: 'PCI_ADDR1' undeclared here (not in a function) myson803.c:305: error: variable 'myson803_drv_id' has initializer but incomplete type myson803.c:306: warning: excess elements in struct initializer myson803.c:306: warning: (near initialization for 'myson803_drv_id') myson803.c:306: warning: excess elements in struct initializer myson803.c:306: warning: (near initialization for 'myson803_drv_id') myson803.c:306: warning: excess elements in struct initializer myson803.c:306: warning: (near initialization for 'myson803_drv_id') myson803.c:306: warning: excess elements in struct initializer myson803.c:306: warning: (near initialization for 'myson803_drv_id') myson803.c:306: warning: excess elements in struct initializer myson803.c:306: warning: (near initialization for 'myson803_drv_id') myson803.c:307: warning: excess elements in struct initializer myson803.c:307: warning: (near initialization for 'myson803_drv_id') myson803.c:366: error: expected specifier-qualifier-list before 'u32' myson803.c:403: error: field 'timer' has incomplete type myson803.c:432: error: expected specifier-qualifier-list before 'u16' myson803.c: In function 'myson_probe1': myson803.c:480: warning: assignment makes pointer from integer without a cast myson803.c:484: error: 'KERN_INFO' undeclared (first use in this function) myson803.c:484: error: (Each undeclared identifier is reported only once myson803.c:484: error: for each function it appears in.) myson803.c:484: error: expected ')' before string constant myson803.c:488: error: 'u16' undeclared (first use in this function) myson803.c:488: error: expected expression before ')' token myson803.c:489: error: dereferencing pointer to incomplete type myson803.c:491: warning: incompatible implicit declaration of built-in function 'memcpy' myson803.c:491: error: dereferencing pointer to incomplete type myson803.c:494: error: dereferencing pointer to incomplete type myson803.c:495: error: dereferencing pointer to incomplete type myson803.c:505: error: 'GFP_KERNEL' undeclared (first use in this function) myson803.c:505: warning: assignment makes pointer from integer without a cast myson803.c:519: error: dereferencing pointer to incomplete type myson803.c:520: error: dereferencing pointer to incomplete type myson803.c:522: error: dereferencing pointer to incomplete type myson803.c:523: warning: incompatible implicit declaration of built-in function 'memset' myson803.c:537: error: dereferencing pointer to incomplete type myson803.c:538: error: dereferencing pointer to incomplete type myson803.c:552: error: 'NETIF_MSG_PROBE' undeclared (first use in this function) myson803.c:553: error: expected ')' before string constant myson803.c:559: error: dereferencing pointer to incomplete type myson803.c:560: error: dereferencing pointer to incomplete type myson803.c:561: error: dereferencing pointer to incomplete type myson803.c:562: error: dereferencing pointer to incomplete type myson803.c:563: error: dereferencing pointer to incomplete type myson803.c:564: error: dereferencing pointer to incomplete type myson803.c:571: error: 'struct netdev_private' has no member named 'phys' myson803.c:572: error: 'struct netdev_private' has no member named 'advertising' myson803.c:574: error: expected ')' before string constant myson803.c:582: error: 'struct netdev_private' has no member named 'phys' myson803.c:583: error: expected ')' before string constant myson803.c:592: error: expected ')' before string constant myson803.c:596: error: 'struct netdev_private' has no member named 'phys' myson803.c: In function 'mdio_read': myson803.c:701: error: dereferencing pointer to incomplete type myson803.c: In function 'mdio_write': myson803.c:747: error: dereferencing pointer to incomplete type myson803.c:748: error: dereferencing pointer to incomplete type myson803.c:753: error: 'struct netdev_private' has no member named 'phys' myson803.c:754: error: 'struct netdev_private' has no member named 'advertising' myson803.c: In function 'netdev_open': myson803.c:793: error: dereferencing pointer to incomplete type myson803.c:794: error: dereferencing pointer to incomplete type myson803.c:804: error: dereferencing pointer to incomplete type myson803.c:804: error: 'SA_SHIRQ' undeclared (first use in this function) myson803.c:804: error: dereferencing pointer to incomplete type myson803.c:804: warning: passing argument 2 of 'request_irq' from incompatible pointer type myson803.c:809: error: 'NETIF_MSG_IFUP' undeclared (first use in this function) myson803.c:810: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:810: error: expected ')' before string constant myson803.c:819: error: 'u32' undeclared (first use in this function) myson803.c:819: error: expected expression before ')' token myson803.c:821: error: 'u16' undeclared (first use in this function) myson803.c:821: error: expected expression before ')' token myson803.c:821: error: dereferencing pointer to incomplete type myson803.c:831: error: dereferencing pointer to incomplete type myson803.c:832: error: dereferencing pointer to incomplete type myson803.c:847: error: expected ')' before string constant myson803.c:853: error: 'jiffies' undeclared (first use in this function) myson803.c: In function 'check_duplex': myson803.c:863: error: dereferencing pointer to incomplete type myson803.c:864: error: dereferencing pointer to incomplete type myson803.c:869: error: 'struct netdev_private' has no member named 'phys' myson803.c:870: error: 'struct netdev_private' has no member named 'advertising' myson803.c:878: error: 'NETIF_MSG_LINK' undeclared (first use in this function) myson803.c:879: error: 'KERN_INFO' undeclared (first use in this function) myson803.c:879: error: expected ')' before string constant myson803.c: In function 'netdev_timer': myson803.c:891: error: dereferencing pointer to incomplete type myson803.c:892: error: dereferencing pointer to incomplete type myson803.c:895: error: 'NETIF_MSG_TIMER' undeclared (first use in this function) myson803.c:896: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:896: error: expected ')' before string constant myson803.c:903: error: 'jiffies' undeclared (first use in this function) myson803.c:903: error: dereferencing pointer to incomplete type myson803.c: In function 'tx_timeout': myson803.c:916: error: dereferencing pointer to incomplete type myson803.c:917: error: dereferencing pointer to incomplete type myson803.c:919: error: 'KERN_WARNING' undeclared (first use in this function) myson803.c:919: error: expected ')' before string constant myson803.c:922: error: 'NETIF_MSG_TX_ERR' undeclared (first use in this function) myson803.c:924: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:924: error: expected ')' before string constant myson803.c:926: error: 'struct netdev_desc' has no member named 'status' myson803.c:927: error: expected ')' before 'KERN_DEBUG' myson803.c:929: error: 'struct netdev_desc' has no member named 'status' myson803.c:939: error: dereferencing pointer to incomplete type myson803.c:941: error: dereferencing pointer to incomplete type myson803.c:941: error: 'jiffies' undeclared (first use in this function) myson803.c: In function 'init_ring': myson803.c:950: error: dereferencing pointer to incomplete type myson803.c:957: error: dereferencing pointer to incomplete type myson803.c:957: error: dereferencing pointer to incomplete type myson803.c:962: error: 'struct netdev_desc' has no member named 'ctrl_length' myson803.c:963: error: 'struct netdev_desc' has no member named 'status' myson803.c:964: error: 'struct netdev_desc' has no member named 'next_desc' myson803.c:968: error: 'struct netdev_desc' has no member named 'next_desc' myson803.c:972: warning: initialization makes pointer from integer without a cast myson803.c:977: error: 'struct netdev_desc' has no member named 'buf_addr' myson803.c:978: error: 'struct netdev_desc' has no member named 'status' myson803.c:984: error: 'struct netdev_desc' has no member named 'status' myson803.c:985: error: 'struct netdev_desc' has no member named 'next_desc' myson803.c:987: error: 'struct netdev_desc' has no member named 'next_desc' myson803.c: In function 'start_tx': myson803.c:993: error: dereferencing pointer to incomplete type myson803.c:1000: error: 'jiffies' undeclared (first use in this function) myson803.c:1000: error: dereferencing pointer to incomplete type myson803.c:1013: error: 'struct netdev_desc' has no member named 'buf_addr' myson803.c:1014: error: 'struct netdev_desc' has no member named 'ctrl_length' myson803.c:1016: error: 'struct netdev_desc' has no member named 'status' myson803.c:1034: error: dereferencing pointer to incomplete type myson803.c:1036: error: dereferencing pointer to incomplete type myson803.c:1038: error: 'NETIF_MSG_TX_QUEUED' undeclared (first use in this function) myson803.c:1039: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:1039: error: expected ')' before string constant myson803.c: In function 'intr_handler': myson803.c:1056: error: 'KERN_ERR' undeclared (first use in this function) myson803.c:1056: error: expected ')' before string constant myson803.c:1062: error: dereferencing pointer to incomplete type myson803.c:1063: error: dereferencing pointer to incomplete type myson803.c:1077: error: 'u32' undeclared (first use in this function) myson803.c:1077: error: expected ';' before 'intr_status' myson803.c:1080: error: 'intr_status' undeclared (first use in this function) myson803.c:1082: error: 'NETIF_MSG_INTR' undeclared (first use in this function) myson803.c:1083: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:1083: error: expected ')' before string constant myson803.c:1094: error: 'struct netdev_desc' has no member named 'status' myson803.c:1097: error: 'NETIF_MSG_TX_DONE' undeclared (first use in this function) myson803.c:1098: error: expected ')' before string constant myson803.c:1102: error: 'NETIF_MSG_TX_ERR' undeclared (first use in this function) myson803.c:1103: error: expected ')' before string constant myson803.c:1143: error: 'KERN_WARNING' undeclared (first use in this function) myson803.c:1143: error: expected ')' before string constant myson803.c:1151: error: expected ')' before string constant myson803.c: In function 'netdev_rx': myson803.c:1164: error: dereferencing pointer to incomplete type myson803.c:1169: error: 'NETIF_MSG_RX_STATUS' undeclared (first use in this function) myson803.c:1170: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:1170: error: expected ')' before string constant myson803.c:1175: error: 'struct netdev_desc' has no member named 'status' myson803.c:1177: error: 'u32' undeclared (first use in this function) myson803.c:1177: error: expected ';' before 'desc_status' myson803.c:1180: error: expected ')' before string constant myson803.c:1184: error: 'desc_status' undeclared (first use in this function) myson803.c:1185: error: 'KERN_WARNING' undeclared (first use in this function) myson803.c:1185: error: expected ')' before string constant myson803.c:1191: error: 'NETIF_MSG_RX_ERR' undeclared (first use in this function) myson803.c:1192: error: expected ')' before string constant myson803.c:1204: error: 'u16' undeclared (first use in this function) myson803.c:1204: error: expected ';' before 'pkt_len' myson803.c:1208: error: expected ')' before string constant myson803.c:1214: error: 'pkt_len' undeclared (first use in this function) myson803.c:1215: warning: assignment makes pointer from integer without a cast myson803.c:1226: error: 'NETIF_MSG_PKTDATA' undeclared (first use in this function) myson803.c:1227: error: expected ')' before string constant myson803.c:1239: error: 'union ' has no member named 'ethernet' myson803.c:1240: error: 'union ' has no member named 'ethernet' myson803.c:1243: error: dereferencing pointer to incomplete type myson803.c:1244: error: dereferencing pointer to incomplete type myson803.c:1253: error: dereferencing pointer to incomplete type myson803.c:1253: error: 'jiffies' undeclared (first use in this function) myson803.c:1268: warning: assignment makes pointer from integer without a cast myson803.c:1273: error: 'struct netdev_desc' has no member named 'buf_addr' myson803.c:1275: error: 'struct netdev_desc' has no member named 'ctrl_length' myson803.c:1276: error: 'struct netdev_desc' has no member named 'status' myson803.c:1282: error: dereferencing pointer to incomplete type myson803.c: In function 'netdev_error': myson803.c:1290: error: dereferencing pointer to incomplete type myson803.c:1291: error: dereferencing pointer to incomplete type myson803.c:1294: error: 'NETIF_MSG_LINK' undeclared (first use in this function) myson803.c:1295: error: 'KERN_NOTICE' undeclared (first use in this function) myson803.c:1295: error: expected ')' before string constant myson803.c:1314: error: 'KERN_WARNING' undeclared (first use in this function) myson803.c:1314: error: expected ')' before string constant myson803.c:1321: error: expected ')' before string constant myson803.c:1331: error: 'NETIF_MSG_DRV' undeclared (first use in this function) myson803.c:1332: error: 'KERN_ERR' undeclared (first use in this function) myson803.c:1332: error: expected ')' before string constant myson803.c:1339: error: expected ')' before string constant myson803.c: In function 'get_stats': myson803.c:1349: error: dereferencing pointer to incomplete type myson803.c:1350: error: dereferencing pointer to incomplete type myson803.c: At top level: myson803.c:1372: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ether_crc' myson803.c: In function 'set_rx_mode': myson803.c:1388: error: dereferencing pointer to incomplete type myson803.c:1389: error: dereferencing pointer to incomplete type myson803.c:1390: error: 'u32' undeclared (first use in this function) myson803.c:1390: error: expected ';' before 'mc_filter' myson803.c:1391: error: expected ';' before 'rx_mode' myson803.c:1393: error: dereferencing pointer to incomplete type myson803.c:1395: error: 'KERN_NOTICE' undeclared (first use in this function) myson803.c:1395: error: expected ')' before string constant myson803.c:1396: error: 'mc_filter' undeclared (first use in this function) myson803.c:1397: error: 'rx_mode' undeclared (first use in this function) myson803.c:1399: error: dereferencing pointer to incomplete type myson803.c:1400: error: dereferencing pointer to incomplete type myson803.c:1408: error: dereferencing pointer to incomplete type myson803.c:1408: error: dereferencing pointer to incomplete type myson803.c:1409: error: dereferencing pointer to incomplete type myson803.c:1410: error: dereferencing pointer to incomplete type myson803.c: In function 'mii_ioctl': myson803.c:1436: error: dereferencing pointer to incomplete type myson803.c:1437: error: 'u16' undeclared (first use in this function) myson803.c:1437: error: 'data' undeclared (first use in this function) myson803.c:1437: error: expected expression before ')' token myson803.c:1438: error: 'u32' undeclared (first use in this function) myson803.c:1438: error: 'data32' undeclared (first use in this function) myson803.c:1443: error: 'struct netdev_private' has no member named 'phys' myson803.c:1453: error: 'struct netdev_private' has no member named 'phys' myson803.c:1454: error: expected ';' before 'value' myson803.c:1458: error: 'value' undeclared (first use in this function) myson803.c:1462: error: 'struct netdev_private' has no member named 'advertising' myson803.c:1468: error: 'SIOCGPARAMS' undeclared (first use in this function) myson803.c:1474: error: 'SIOCSPARAMS' undeclared (first use in this function) myson803.c: In function 'netdev_close': myson803.c:1489: error: dereferencing pointer to incomplete type myson803.c:1490: error: dereferencing pointer to incomplete type myson803.c:1495: error: 'NETIF_MSG_IFDOWN' undeclared (first use in this function) myson803.c:1496: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:1496: error: expected ')' before string constant myson803.c:1498: error: expected ')' before string constant myson803.c:1513: error: expected ')' before 'KERN_DEBUG' myson803.c:1517: error: 'struct netdev_desc' has no member named 'status' myson803.c:1517: error: 'struct netdev_desc' has no member named 'ctrl_length' myson803.c:1518: error: 'struct netdev_desc' has no member named 'buf_addr' myson803.c:1519: error: expected ')' before 'KERN_DEBUG' myson803.c:1522: error: expected ')' before string constant myson803.c:1529: error: dereferencing pointer to incomplete type myson803.c:1533: error: 'struct netdev_desc' has no member named 'status' myson803.c:1534: error: 'struct netdev_desc' has no member named 'buf_addr' myson803.c: In function 'netdev_pwr_event': myson803.c:1557: error: dereferencing pointer to incomplete type myson803.c:1558: error: dereferencing pointer to incomplete type myson803.c:1560: error: 'NETIF_MSG_LINK' undeclared (first use in this function) myson803.c:1561: error: 'KERN_DEBUG' undeclared (first use in this function) myson803.c:1561: error: expected ')' before string constant myson803.c:1563: error: 'DRV_ATTACH' undeclared (first use in this function) myson803.c:1566: error: 'DRV_SUSPEND' undeclared (first use in this function) myson803.c:1571: error: 'DRV_RESUME' undeclared (first use in this function) myson803.c:1576: error: 'DRV_DETACH' undeclared (first use in this function) myson803.c:1578: error: dereferencing pointer to incomplete type myson803.c:1581: error: dereferencing pointer to incomplete type myson803.c:1584: error: dereferencing pointer to incomplete type myson803.c:1586: error: dereferencing pointer to incomplete type myson803.c:1589: error: dereferencing pointer to incomplete type myson803.c: In function 'init_module': myson803.c:1610: error: 'NETIF_MSG_DRV' undeclared (first use in this function) myson803.c:1611: error: 'KERN_INFO' undeclared (first use in this function) myson803.c:1611: error: expected ')' before string constant myson803.c: In function 'cleanup_module': myson803.c:1623: error: dereferencing pointer to incomplete type myson803.c:1629: error: dereferencing pointer to incomplete type