blob: ab1c410872ffbf077a87e47106192caecaafb2d6 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001// SPDX-License-Identifier: GPL-2.0-only
Kim, Milo48a1d032013-03-14 04:29:24 -07002/*
3 * Camera Flash and Torch On/Off Trigger
4 *
5 * based on ledtrig-ide-disk.c
6 *
7 * Copyright 2013 Texas Instruments
8 *
9 * Author: Milo(Woogyom) Kim <milo.kim@ti.com>
Kim, Milo48a1d032013-03-14 04:29:24 -070010 */
11
12#include <linux/module.h>
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/leds.h>
16
17DEFINE_LED_TRIGGER(ledtrig_flash);
18DEFINE_LED_TRIGGER(ledtrig_torch);
19
20void ledtrig_flash_ctrl(bool on)
21{
22 enum led_brightness brt = on ? LED_FULL : LED_OFF;
23
24 led_trigger_event(ledtrig_flash, brt);
25}
26EXPORT_SYMBOL_GPL(ledtrig_flash_ctrl);
27
28void ledtrig_torch_ctrl(bool on)
29{
30 enum led_brightness brt = on ? LED_FULL : LED_OFF;
31
32 led_trigger_event(ledtrig_torch, brt);
33}
34EXPORT_SYMBOL_GPL(ledtrig_torch_ctrl);
35
36static int __init ledtrig_camera_init(void)
37{
38 led_trigger_register_simple("flash", &ledtrig_flash);
39 led_trigger_register_simple("torch", &ledtrig_torch);
40 return 0;
41}
42module_init(ledtrig_camera_init);
43
44static void __exit ledtrig_camera_exit(void)
45{
46 led_trigger_unregister_simple(ledtrig_torch);
47 led_trigger_unregister_simple(ledtrig_flash);
48}
49module_exit(ledtrig_camera_exit);
50
51MODULE_DESCRIPTION("LED Trigger for Camera Flash/Torch Control");
52MODULE_AUTHOR("Milo Kim");
Uwe Kleine-König033692e2018-07-02 22:05:20 +020053MODULE_LICENSE("GPL v2");