-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Kim, Milo
authored and
Bryan Wu
committed
Apr 1, 2013
1 parent
39f7e08
commit 48a1d03
Showing
4 changed files
with
74 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters