aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kobject_uevent.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-18 21:28:08 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-18 21:28:08 -0400
commit29e7ee378e2327c808ede66dec4d4d964f4d375f (patch)
tree4f904bfc485acd2ba5f7abdf43f57eeb8ce1dbdb /lib/kobject_uevent.c
parentfc15bc817eecd5c13581adab2a182c07edededa0 (diff)
parent967e35dcc9ac194b4a6fad69a5a51f93d69bb0d1 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: sysfs: cosmetic clean up on node creation failure paths sysfs: kill an extra put in sysfs_create_link() failure path Driver core: check return code of sysfs_create_link() HOWTO: Add the knwon_regression URI to the documentation dev_vdbg() documentation dev_vdbg(), available with -DVERBOSE_DEBUG sysfs: make sysfs_init_inode() static sysfs: fix sysfs root inode nlink accounting Documentation fix devres.txt: lib/iomap.c -> lib/devres.c sysfs: avoid kmem_cache_free(NULL) PM: remove deprecated dpm_runtime_* routines PM: Remove deprecated sysfs files Driver core: accept all valid action-strings in uevent-trigger debugfs: remove rmdir() non-empty complaint
Diffstat (limited to 'lib/kobject_uevent.c')
-rw-r--r--lib/kobject_uevent.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index bd5ecbbafab1..6a80c784a8fb 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -33,25 +33,15 @@ static DEFINE_SPINLOCK(sequence_lock);
33static struct sock *uevent_sock; 33static struct sock *uevent_sock;
34#endif 34#endif
35 35
36static char *action_to_string(enum kobject_action action) 36/* the strings here must match the enum in include/linux/kobject.h */
37{ 37const char *kobject_actions[] = {
38 switch (action) { 38 "add",
39 case KOBJ_ADD: 39 "remove",
40 return "add"; 40 "change",
41 case KOBJ_REMOVE: 41 "move",
42 return "remove"; 42 "online",
43 case KOBJ_CHANGE: 43 "offline",
44 return "change"; 44};
45 case KOBJ_OFFLINE:
46 return "offline";
47 case KOBJ_ONLINE:
48 return "online";
49 case KOBJ_MOVE:
50 return "move";
51 default:
52 return NULL;
53 }
54}
55 45
56/** 46/**
57 * kobject_uevent_env - send an uevent with environmental data 47 * kobject_uevent_env - send an uevent with environmental data
@@ -83,7 +73,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
83 73
84 pr_debug("%s\n", __FUNCTION__); 74 pr_debug("%s\n", __FUNCTION__);
85 75
86 action_string = action_to_string(action); 76 action_string = kobject_actions[action];
87 if (!action_string) { 77 if (!action_string) {
88 pr_debug("kobject attempted to send uevent without action_string!\n"); 78 pr_debug("kobject attempted to send uevent without action_string!\n");
89 return -EINVAL; 79 return -EINVAL;