memset(udev, 0x00, sizeof(struct udevice));
INIT_LIST_HEAD(&udev->symlink_list);
+ INIT_LIST_HEAD(&udev->run_list);
if (subsystem)
strlcpy(udev->subsystem, subsystem, sizeof(udev->subsystem));
+ if (action)
+ strlcpy(udev->action, action, sizeof(udev->action));
+
if (devpath) {
strlcpy(udev->devpath, devpath, sizeof(udev->devpath));
remove_trailing_char(udev->devpath, '/');
}
}
- udev->mode = 0660;
- strcpy(udev->owner, "root");
- strcpy(udev->group, "root");
+ if (udev->type == DEV_BLOCK || udev->type == DEV_CLASS) {
+ udev->mode = 0660;
+ strcpy(udev->owner, "root");
+ strcpy(udev->group, "root");
+ }
return 0;
}