Yer*_*aze 2 linux linux-device-driver linux-kernel
是否可以在linux内核模块中创建一个以mod 666开头的字符设备?现在它总是600(由root拥有),我必须chmod它.我可以创建udev条目来解决它,但我真的更喜欢模块自动完成它.
可能吗?我在cdev_init或cdev_add文档中找不到任何关于此的信息.
您可以通过dev_uevent在类结构中设置方法来完成此操作.在此方法中,您必须设置DEVMODEuevent变量.这是一个例子
static int my_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
{
    add_uevent_var(env, "DEVMODE=%#o", 0440);
    return 0;
}
static struct class my_class = {
    .name                = "myname",
    .owner                = THIS_MODULE,
    .dev_uevent        = my_dev_uevent,
    [...]
};
| 归档时间: | 
 | 
| 查看次数: | 3187 次 | 
| 最近记录: |