分类: LINUX
2014-05-23 16:53:40
在新版本的内核中struct device 已经没有bus_id成员,取而代之的是通过dev_name和dev_set_name对设备的名字进行操作。
dev_name和dev_set_name在2.6.35.6内核中的源代码如下:
static inline const char *dev_name(const struct device *dev)
kernel 邮件列表 中讲了:struct device - replace bus_id with dev_name(),以后只要使用dev->bus_id的时候,改成dev_name(dev)就可以了。
相关更改代码如下: //设置部分:
dev_set_name(&my_bus,"my_bus0"); static int my_match(struct device *dev, struct device_driver *driver) { //读取方法: return !strncmp(dev_name(dev), driver->name, strlen(driver->name)); } |