diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-05-20 09:02:28 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-05-20 09:02:28 +0200 |
commit | 521c180874dae86f675d23c4eade4dba8b1f2cc8 (patch) | |
tree | 7509303da3a9a1b40a26f6811f321c89cd31737b /drivers/leds/led-triggers.c | |
parent | f1a11e0576c7a73d759d05d776692b2b2d37172b (diff) | |
parent | 64d1304a64477629cb16b75491a77bafe6f86963 (diff) |
Merge branch 'core/urgent' into core/futexes
Merge reason: this branch was on an pre -rc1 base, merge it up to -rc6+
to get the latest upstream fixes.
Conflicts:
kernel/futex.c
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/leds/led-triggers.c')
-rw-r--r-- | drivers/leds/led-triggers.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index f910eaffe3a..d8ddd9ef899 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c @@ -156,12 +156,20 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default); int led_trigger_register(struct led_trigger *trigger) { struct led_classdev *led_cdev; + struct led_trigger *trig; rwlock_init(&trigger->leddev_list_lock); INIT_LIST_HEAD(&trigger->led_cdevs); - /* Add to the list of led triggers */ down_write(&triggers_list_lock); + /* Make sure the trigger's name isn't already in use */ + list_for_each_entry(trig, &trigger_list, next_trig) { + if (!strcmp(trig->name, trigger->name)) { + up_write(&triggers_list_lock); + return -EEXIST; + } + } + /* Add to the list of led triggers */ list_add_tail(&trigger->next_trig, &trigger_list); up_write(&triggers_list_lock); |