china_cj 2015-06-04 03:27 采纳率: 0%
浏览 3432

linux n内核驱动编译出错

我正在进行wifi驱动的移植,android SDK的版本是4.2.2 内核是3.2.0的,但是当我将驱动代码
加入到kernel里后,编译module时出现了如下错误:
CC [M] drivers/net/wireless/bcmdhd/wl_cfg80211.o
drivers/net/wireless/bcmdhd/wl_iw.c:3062:2: error: unknown field 'num_private' specified in initializer
drivers/net/wireless/bcmdhd/wl_iw.c:3062:17: warning: initialization makes pointer from integer without a cast [enabled by default]
drivers/net/wireless/bcmdhd/wl_iw.c:3062:17: warning: (near initialization for 'wl_iw_handler_def.get_wireless_stats') [enabled by default]
drivers/net/wireless/bcmdhd/wl_iw.c:3063:2: error: unknown field 'num_private_args' specified in initializer
drivers/net/wireless/bcmdhd/wl_iw.c:3063:22: warning: excess elements in struct initializer [enabled by default]
drivers/net/wireless/bcmdhd/wl_iw.c:3063:22: warning: (near initialization for 'wl_iw_handler_def') [enabled by default]
drivers/net/wireless/bcmdhd/wl_iw.c:3065:2: error: unknown field 'private' specified in initializer
drivers/net/wireless/bcmdhd/wl_iw.c:3065:2: warning: initialization makes integer from pointer without a cast [enabled by default]
drivers/net/wireless/bcmdhd/wl_iw.c:3065:2: warning: (near initialization for 'wl_iw_handler_def.num_standard') [enabled by default]
drivers/net/wireless/bcmdhd/wl_iw.c:3065:2: error: initializer element is not computable at load time
drivers/net/wireless/bcmdhd/wl_iw.c:3065:2: error: (near initialization for 'wl_iw_handler_def.num_standard')
drivers/net/wireless/bcmdhd/wl_iw.c:3066:2: error: unknown field 'private_args' specified in initializer
drivers/net/wireless/bcmdhd/wl_iw.c:3066:2: warning: initialization from incompatible pointer type [enabled by default]
drivers/net/wireless/bcmdhd/wl_iw.c:3066:2: warning: (near initialization for 'wl_iw_handler_def.get_wireless_stats') [enabled by default]
make[4]: *** [drivers/net/wireless/bcmdhd/wl_iw.o] 错误 1
make[4]: *** 正在等待未完成的任务....
make[3]: *** [drivers/net/wireless/bcmdhd] 错误 2
make[2]: *** [drivers/net/wireless] 错误 2
make[1]: *** [drivers/net] 错误 2
make: *** [drivers] 错误 2

我找到了上面说的结构体如下:
struct iw_handler_def {
const iw_handler *standard;
__u16 num_standard;

#ifdef CONFIG_WEXT_PRIV
__u16 num_private;
__u16 num_private_args;
const iw_handler *private;
#endif

};

是不是因为kernel里面CONFIG_WEXT_PRIV没配置上啊,如果是的话要怎么配置啊,为什么我在内核里没找到这个选项啊, 而且我在.config文件中增加了CONFIG_WEXT_PRIV=y 再编译也还是出错,为什么啊?

哪位大神帮帮我啊,万分感谢

  • 写回答

2条回答

  • nswcfd 2015-06-04 04:03
    关注

    修改需要反映到include/config/auto.conf

    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配