LINUX设备驱动程序(LDD3)例程在Linux-3.0 .x代码树编译的时候会出现不少错误,如Makefile中出现“Fix it to use EXTAR_CFLAGS”,编译main.c时出现“unknown field ’ioctl‘ specified in initializer”等, 这是由于新版本的内核一些头文件和接口的名称有所修改而出现的,在下面的连接中有详细的原因分析(虽然是2.6的,但大同小异):
http://www.linuxidc.com/Linux/2011-06/37818.htm
我在这里给出修改好的代码,已经在Linux-3.0.1上测试编译通过,代码文件可以去我的资源里面下载。