0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <linux/module.h>
0013 #include <linux/kernel.h>
0014 #include <linux/init.h>
0015 #include <linux/leds.h>
0016
0017 DEFINE_LED_TRIGGER(ledtrig_flash);
0018 DEFINE_LED_TRIGGER(ledtrig_torch);
0019
0020 void ledtrig_flash_ctrl(bool on)
0021 {
0022 enum led_brightness brt = on ? LED_FULL : LED_OFF;
0023
0024 led_trigger_event(ledtrig_flash, brt);
0025 }
0026 EXPORT_SYMBOL_GPL(ledtrig_flash_ctrl);
0027
0028 void ledtrig_torch_ctrl(bool on)
0029 {
0030 enum led_brightness brt = on ? LED_FULL : LED_OFF;
0031
0032 led_trigger_event(ledtrig_torch, brt);
0033 }
0034 EXPORT_SYMBOL_GPL(ledtrig_torch_ctrl);
0035
0036 static int __init ledtrig_camera_init(void)
0037 {
0038 led_trigger_register_simple("flash", &ledtrig_flash);
0039 led_trigger_register_simple("torch", &ledtrig_torch);
0040 return 0;
0041 }
0042 module_init(ledtrig_camera_init);
0043
0044 static void __exit ledtrig_camera_exit(void)
0045 {
0046 led_trigger_unregister_simple(ledtrig_torch);
0047 led_trigger_unregister_simple(ledtrig_flash);
0048 }
0049 module_exit(ledtrig_camera_exit);
0050
0051 MODULE_DESCRIPTION("LED Trigger for Camera Flash/Torch Control");
0052 MODULE_AUTHOR("Milo Kim");
0053 MODULE_LICENSE("GPL v2");