Some LED devices support flash/torch functionality through the LED subsystem. This patch enables direct LED trigger controls by the driver. Flash on/off and torch on/off can be done simply by other driver space. Two trigger APIs are added, ledtrig_flash_ctrl() and ledtrig_torch_ctrl(). Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Signed-off-by: Bryan Wu <cooloney@gmail.com>tirimbino
parent
39f7e08af3
commit
48a1d032c9
@ -0,0 +1,57 @@ |
||||
/*
|
||||
* Camera Flash and Torch On/Off Trigger |
||||
* |
||||
* based on ledtrig-ide-disk.c |
||||
* |
||||
* Copyright 2013 Texas Instruments |
||||
* |
||||
* Author: Milo(Woogyom) Kim <milo.kim@ti.com> |
||||
* |
||||
* This program is free software; you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License version 2 as |
||||
* published by the Free Software Foundation. |
||||
* |
||||
*/ |
||||
|
||||
#include <linux/module.h> |
||||
#include <linux/kernel.h> |
||||
#include <linux/init.h> |
||||
#include <linux/leds.h> |
||||
|
||||
DEFINE_LED_TRIGGER(ledtrig_flash); |
||||
DEFINE_LED_TRIGGER(ledtrig_torch); |
||||
|
||||
void ledtrig_flash_ctrl(bool on) |
||||
{ |
||||
enum led_brightness brt = on ? LED_FULL : LED_OFF; |
||||
|
||||
led_trigger_event(ledtrig_flash, brt); |
||||
} |
||||
EXPORT_SYMBOL_GPL(ledtrig_flash_ctrl); |
||||
|
||||
void ledtrig_torch_ctrl(bool on) |
||||
{ |
||||
enum led_brightness brt = on ? LED_FULL : LED_OFF; |
||||
|
||||
led_trigger_event(ledtrig_torch, brt); |
||||
} |
||||
EXPORT_SYMBOL_GPL(ledtrig_torch_ctrl); |
||||
|
||||
static int __init ledtrig_camera_init(void) |
||||
{ |
||||
led_trigger_register_simple("flash", &ledtrig_flash); |
||||
led_trigger_register_simple("torch", &ledtrig_torch); |
||||
return 0; |
||||
} |
||||
module_init(ledtrig_camera_init); |
||||
|
||||
static void __exit ledtrig_camera_exit(void) |
||||
{ |
||||
led_trigger_unregister_simple(ledtrig_torch); |
||||
led_trigger_unregister_simple(ledtrig_flash); |
||||
} |
||||
module_exit(ledtrig_camera_exit); |
||||
|
||||
MODULE_DESCRIPTION("LED Trigger for Camera Flash/Torch Control"); |
||||
MODULE_AUTHOR("Milo Kim"); |
||||
MODULE_LICENSE("GPL"); |
Loading…
Reference in new issue