linux硬件驱动层

时间:2022-01-07 15:53:16

1.make menuconfig

scripts/kconfig/lxdialog/menubox.o: In function `print_buttons':
menubox.c:(.text+0x4b1): undefined reference to `wrefresh'
collect2: ld 返回 1
make[1]: *** [scripts/kconfig/mconf] 错误 1
make: *** [menuconfig] 错误 2

解决方法:

http://www.cnblogs.com/Ph-one/p/4283122.html

2.

drivers/hello/hello.c: In function 'hello_create_proc':
drivers/hello/hello.c:238:14: error: 'struct proc_dir_entry' has no member named 'owner'
make[2]: *** [drivers/hello/hello.o] 错误 1
make[1]: *** [drivers/hello] 错误 2
make: *** [drivers] 错误 2
make: *** 正在等待未完成的任务....
root@phone-desktop:/opt/FriendlyARM/tiny4412/android/linux-3.0.31# make
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: “include/generated/mach-types.h”是最新的。
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      drivers/hello/hello.o
drivers/hello/hello.c: In function 'hello_create_proc':
drivers/hello/hello.c:238:14: error: 'struct proc_dir_entry' has no member named 'owner'
make[2]: *** [drivers/hello/hello.o] 错误 1
make[1]: *** [drivers/hello] 错误 2
make: *** [drivers] 错误 2
解决方法:

由错误信息可以看出struct proc_dir_entry结构体中没有找到owner的成员。

看到引用的proc_fs.h头文件,发现里面的struct proc_dir_entry结构体中,的确没有owner成员,

在该结构体中添加以下代码:

  1. struct module *owner;

保存后,重新编译,OK了。

proc_fs.h文件在kernel源码下的include/linux目录下面