Linux Audio

Check our new training course

Loading...
v6.2
 1// SPDX-License-Identifier: GPL-2.0-only
 2/*
 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>
 
 
 
 
 
10 */
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");
53MODULE_LICENSE("GPL v2");
v4.6
 
 1/*
 2 * Camera Flash and Torch On/Off Trigger
 3 *
 4 * based on ledtrig-ide-disk.c
 5 *
 6 * Copyright 2013 Texas Instruments
 7 *
 8 * Author: Milo(Woogyom) Kim <milo.kim@ti.com>
 9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 *
14 */
15
16#include <linux/module.h>
17#include <linux/kernel.h>
18#include <linux/init.h>
19#include <linux/leds.h>
20
21DEFINE_LED_TRIGGER(ledtrig_flash);
22DEFINE_LED_TRIGGER(ledtrig_torch);
23
24void ledtrig_flash_ctrl(bool on)
25{
26	enum led_brightness brt = on ? LED_FULL : LED_OFF;
27
28	led_trigger_event(ledtrig_flash, brt);
29}
30EXPORT_SYMBOL_GPL(ledtrig_flash_ctrl);
31
32void ledtrig_torch_ctrl(bool on)
33{
34	enum led_brightness brt = on ? LED_FULL : LED_OFF;
35
36	led_trigger_event(ledtrig_torch, brt);
37}
38EXPORT_SYMBOL_GPL(ledtrig_torch_ctrl);
39
40static int __init ledtrig_camera_init(void)
41{
42	led_trigger_register_simple("flash", &ledtrig_flash);
43	led_trigger_register_simple("torch", &ledtrig_torch);
44	return 0;
45}
46module_init(ledtrig_camera_init);
47
48static void __exit ledtrig_camera_exit(void)
49{
50	led_trigger_unregister_simple(ledtrig_torch);
51	led_trigger_unregister_simple(ledtrig_flash);
52}
53module_exit(ledtrig_camera_exit);
54
55MODULE_DESCRIPTION("LED Trigger for Camera Flash/Torch Control");
56MODULE_AUTHOR("Milo Kim");
57MODULE_LICENSE("GPL");