Linux Kernel设备驱动模型之子系统注册
2017-03-25 13:56
330 查看
static int subsys_register(struct bus_type *subsys, const struct attribute_group **groups, struct kobject *parent_of_root) { struct device *dev; int err;
err = bus_register(subsys);
if (err < 0)
return err;
dev = kzalloc(sizeof(struct device), GFP_KERNEL);
if (!dev) {
err = -ENOMEM;
goto err_dev;
}
err = dev_set_name(dev, "%s", subsys->name);
if (err < 0)
goto err_name;
dev->kobj.parent = parent_of_root;
dev->groups = groups;
dev->release = system_root_device_release;
err = device_register(dev);
if (err < 0)
goto err_dev_reg;
subsys->dev_root = dev;
return 0;
err_dev_reg:
put_device(dev);
dev = NULL;
err_name:
kfree(dev);
err_dev:
bus_unregister(subsys);
return err;
}
相关文章推荐
- Linux Kernel设备驱动模型之子系统接口注册
- Linux Kernel设备驱动模型之class 接口注册
- Linux Kernel设备驱动模型之class注册
- Linux Kernel设备驱动模型之设备注册
- Linux Kernel设备驱动模型之驱动注册
- Linux Kernel设备驱动模型之 总线注册
- Linux Kernel设备驱动模型之 平台驱动注册
- Linux Kernel设备驱动模型之 平台设备注册
- Linux Kernel设备驱动模型之CPU接口注册
- Linux Kernel设备驱动模型之class 查找设备
- Linux Kernel设备驱动模型之struct kset
- Linux Kernel 学习笔记16:总线设备驱动模型
- Linux Kernel设备驱动模型之struct kobj_type
- Linux Kernel设备驱动模型之struct kobj_attribute
- Linux Kernel设备驱动模型之设备绑定驱动
- Linux Kernel设备驱动模型之struct device_private
- Linux Kernel设备驱动模型之驱动探测设备
- Linux设备驱动模型学习笔记(kobject,kset,subsystem子系统)
- Linux Kernel设备驱动模型之 核心SR管理
- Linux Kernel设备驱动模型之绑定驱动到设备