aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-03-25 21:00:29 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-25 21:00:29 -0700
commit56a9ccb7ba5ffd5f285e3a9628cb446192c8639c (patch)
treea9d54537cea4761073374ef5fbc9097cbfe52440 /drivers/leds
parent44bbd7ac2658eb1118342493026ef141e259b739 (diff)
parent909a78b320b31ca9709d7ea5f602ec1bd2015192 (diff)
downloadkernel_samsung_smdk4412-56a9ccb7ba5ffd5f285e3a9628cb446192c8639c.zip
kernel_samsung_smdk4412-56a9ccb7ba5ffd5f285e3a9628cb446192c8639c.tar.gz
kernel_samsung_smdk4412-56a9ccb7ba5ffd5f285e3a9628cb446192c8639c.tar.bz2
Merge git://git.infradead.org/battery-2.6
* git://git.infradead.org/battery-2.6: (30 commits) bq20z75: Fix time and temp units bq20z75: Fix issues with present and suspend z2_battery: Fix count of properties s3c_adc_battery: Fix method names when PM not set z2_battery: Add MODULE_DEVICE_TABLE ds2782_battery: Add MODULE_DEVICE_TABLE bq20z75: Add MODULE_DEVICE_TABLE power_supply: Update power_supply_is_watt_property bq20z75: Add i2c retry mechanism bq20z75: Add optional battery detect gpio twl4030_charger: Make the driver atomic notifier safe bq27x00: Use single i2c_transfer call for property read bq27x00: Cleanup bq27x00_i2c_read bq27x00: Minor cleanups bq27x00: Give more specific reports on battery status bq27x00: Add MODULE_DEVICE_TABLE bq27x00: Add new properties bq27x00: Poll battery state bq27x00: Cache battery registers bq27x00: Add bq27000 support ...
Diffstat (limited to 'drivers/leds')
-rw-r--r--drivers/leds/led-triggers.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index c41eb61..4bebae7 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -231,6 +231,26 @@ void led_trigger_event(struct led_trigger *trigger,
}
EXPORT_SYMBOL_GPL(led_trigger_event);
+void led_trigger_blink(struct led_trigger *trigger,
+ unsigned long *delay_on,
+ unsigned long *delay_off)
+{
+ struct list_head *entry;
+
+ if (!trigger)
+ return;
+
+ read_lock(&trigger->leddev_list_lock);
+ list_for_each(entry, &trigger->led_cdevs) {
+ struct led_classdev *led_cdev;
+
+ led_cdev = list_entry(entry, struct led_classdev, trig_list);
+ led_blink_set(led_cdev, delay_on, delay_off);
+ }
+ read_unlock(&trigger->leddev_list_lock);
+}
+EXPORT_SYMBOL_GPL(led_trigger_blink);
+
void led_trigger_register_simple(const char *name, struct led_trigger **tp)
{
struct led_trigger *trigger;