Chinaunix

标题: bus_add_driver为何也需要kobject_uevent处理 [打印本页]

作者: gzzaigcn2012    时间: 2015-08-03 11:04
标题: bus_add_driver为何也需要kobject_uevent处理
为何bus_add_driver和device_add里面都会进行kobject_uevent操作呢。
尤其是device driver为何需要将自己这个kobject上报uevent事件,一般udev不会去处理他的吧?
作者: nswcfd    时间: 2015-08-04 15:35
很奇怪,2.6.35、3.2.20、3.4.9里还有,到3.10就没有了,去看看changelog里怎么描述的吧?

http://lxr.oss.org.cn/source/drivers/base/bus.c?v=2.6.39#L625
671         if (!drv->suppress_bind_attrs) {
678         }
679
680         kobject_uevent(&priv->kobj, KOBJ_ADD);
681         return 0;

http://lxr.oss.org.cn/source/drivers/base/bus.c?v=3.10#L677
723         if (!drv->suppress_bind_attrs) {
730         }
731
732         return 0;
作者: gzzaigcn2012    时间: 2015-08-04 17:35
回复 2# nswcfd


    理论是真心没用的。
作者: gzzaigcn2012    时间: 2015-08-04 17:40
回复 2# nswcfd


    感谢你解答我的疑问
作者: nswcfd    时间: 2015-08-04 18:33
https://git.kernel.org/cgit/linu ... beae67f290f8619b042
https://lkml.org/lkml/2012/7/17/126

不好意思搞错了,不是没有了,而是修复了一个bug,换了一个地方调用。
楼主说的udev事件还是会产生的。

导出驱动的信息应该还是有用的,脑洞一下,比如某个硬件有多个驱动支持(有的支持基本功能,有的支持高级功能),drvier的ADD事件是不是有利于用户态helper进行必要的配置调整(例如开启/关闭高级功能)?
作者: gzzaigcn2012    时间: 2015-08-04 21:03
回复 5# nswcfd


    恩,好的,也许是给某些上层的event用的,但对Android下的uevent管理设备节点的进程来说没用,但Android可能有其他机制需要用到这些信息也有可能




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2