我开始提出这个问题: 如何正确地为平台驱动程序初始化属性组?
并得出这样的结论:函数调用device_show_int()这样做与错误的函数原型。
代码问题通过使用DEVICE_INT_ATTR()macros定义struct dev_ext_attribute结构开始。 [struct device_attribute][1]结构将show字段定义为指向具有三(3)个参数的函数的指针:
struct device_attribute { struct attribute attr; ssize_t (*show)(struct device *dev,struct device_attribute *attr,char *buf); ssize_t (*store)(struct device *dev,const char *buf,size_t count); };
然而在我的调用堆栈(请参考上面的问题)中,只有来自drv_attr_show()的两个参数调用了解引用的函数:
这个电话去了哪里?
用新的放置replace新的macros观冲突
将另一个表单放在此表单上的控件的顶部
C#/ Windows窗体:应用程序运行,但没有响应
Valgrind不显示行号
if (drv_attr->show) ret = drv_attr->show(drv_priv->driver,buf);
这似乎相当诡异,这是一个错误,或者我设法搞砸内核构build? (ARM,Kernel 3.12)
“粘滞位”仅用于目录? 我发现它可能在文件上,很奇怪
创build一个没有警告的位图
单声道在试图打开一个StreamWriter到一个命名pipe道时挂起
我可以使用tun / tap和原始套接字来创build“TCP数据包修改器”吗?
C#调用本地C ++的所有function:使用什么types?
你很困惑device_attribute和driver_attribute 。 函数drv_attr_show()在struct driver_attribute ,它被定义为:
struct driver_attribute { struct attribute attr; ssize_t (*show)(struct device_driver *driver,char *buf); ssize_t (*store)(struct device_driver *driver,size_t count); };
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。