- 论坛徽章:
- 3
|
回复 1# arm-linux-gcc
dev_set_name(&dev->dev, "%d-%s", bus->busnum, dev->devpath);` 这个设置的kobject name主要还是/sys/device/*/*下面的名字.
而devtmpfs的设备节点名字应该是device_create()-->device_register()-->device_add()--->devtmpfs_create_node()--->device_get_devnode()这个函数所创建.
创建的规则:1)如果定义了设备类型的device->type->devnode方法,根据这个方法提供的指定名字命名
2)如果定义了类的device->class->devnode方法,则根据这个方法的提供的指定名字命名
3)根据device->kobject的名字命名
usb_alloc_dev() :
---> dev->dev.type = &usb_device_type;
usb_device_type = {
.devnode = usb_devnode,
}
usb_devnode(dev, ...)
{...
return kasprintf(..., "bus/usb/%3d/%3d", usb_dev->bus->busnum, usb_dev->devum);
}
差不多是这样的一个思路. |
|