diff options
author | greg@kroah.com <greg@kroah.com> | 2004-09-10 21:44:15 -0700 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:37:00 -0700 |
commit | 70f630f64b4fd86af12ecb882c25ca8bce76b90c (patch) | |
tree | 114d6c05b33072bbd5da02c331cab1ce9f839a36 | |
parent | 41bc97a0aded14db263b60f7902cc482c28fcfd9 (diff) |
[PATCH] add a "first" list to udevstart and make it contain the class/mem/ devices
Seems some programs really want /dev/null to work properly :)
-rw-r--r-- | udevstart.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/udevstart.c b/udevstart.c index cb1c78888c..9c1d69503d 100644 --- a/udevstart.c +++ b/udevstart.c @@ -80,15 +80,33 @@ static char *last_list[] = { NULL, }; +/* list of devices that we should run first due to any one of a number of reasons */ +static char *first_list[] = { + "/class/mem", /* people tend to like their memory devices around first... */ + NULL, +}; + static void exec_list(struct list_head *device_list) { struct device *loop_device; struct device *tmp_device; + int i; + + /* handle the "first" type devices first */ + list_for_each_entry_safe(loop_device, tmp_device, device_list, list) { + for (i=0; first_list[i] != NULL; i++) { + if (strncmp(loop_device->path, first_list[i], strlen(first_list[i])) == 0) { + udev_add_device(loop_device->path, loop_device->subsys, NOFAKE); + list_del(&loop_device->list); + free(loop_device); + break; + } + } + } /* handle the devices we are allowed to, excluding the "last" type devices */ list_for_each_entry_safe(loop_device, tmp_device, device_list, list) { int found = 0; - int i; for (i=0; last_list[i] != NULL; i++) { if (strncmp(loop_device->path, last_list[i], strlen(last_list[i])) == 0) { found = 1; |