1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * LED Core |
4 | * |
5 | * Copyright 2005 Openedhand Ltd. |
6 | * |
7 | * Author: Richard Purdie <rpurdie@openedhand.com> |
8 | */ |
9 | #ifndef __LEDS_H_INCLUDED |
10 | #define __LEDS_H_INCLUDED |
11 | |
12 | #include <linux/rwsem.h> |
13 | #include <linux/leds.h> |
14 | |
15 | static inline int led_get_brightness(struct led_classdev *led_cdev) |
16 | { |
17 | return led_cdev->brightness; |
18 | } |
19 | |
20 | void led_init_core(struct led_classdev *led_cdev); |
21 | void led_stop_software_blink(struct led_classdev *led_cdev); |
22 | void led_set_brightness_nopm(struct led_classdev *led_cdev, unsigned int value); |
23 | void led_set_brightness_nosleep(struct led_classdev *led_cdev, unsigned int value); |
24 | ssize_t led_trigger_read(struct file *filp, struct kobject *kobj, |
25 | struct bin_attribute *attr, char *buf, |
26 | loff_t pos, size_t count); |
27 | ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, |
28 | struct bin_attribute *bin_attr, char *buf, |
29 | loff_t pos, size_t count); |
30 | |
31 | extern struct rw_semaphore leds_list_lock; |
32 | extern struct list_head leds_list; |
33 | extern struct list_head trigger_list; |
34 | extern const char * const led_colors[LED_COLOR_ID_MAX]; |
35 | |
36 | #endif /* __LEDS_H_INCLUDED */ |
37 | |