1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright 2005 Openedhand Ltd.
7 * Author: Richard Purdie <rpurdie@openedhand.com>
9 #ifndef __LEDS_H_INCLUDED
10 #define __LEDS_H_INCLUDED
12 #include <linux/rwsem.h>
13 #include <linux/leds.h>
15 static inline int led_get_brightness(struct led_classdev
*led_cdev
)
17 return led_cdev
->brightness
;
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
,
23 enum led_brightness value
);
24 void led_set_brightness_nosleep(struct led_classdev
*led_cdev
,
25 enum led_brightness value
);
26 ssize_t
led_trigger_read(struct file
*filp
, struct kobject
*kobj
,
27 struct bin_attribute
*attr
, char *buf
,
28 loff_t pos
, size_t count
);
29 ssize_t
led_trigger_write(struct file
*filp
, struct kobject
*kobj
,
30 struct bin_attribute
*bin_attr
, char *buf
,
31 loff_t pos
, size_t count
);
33 extern struct rw_semaphore leds_list_lock
;
34 extern struct list_head leds_list
;
35 extern struct list_head trigger_list
;
36 extern const char * const led_colors
[LED_COLOR_ID_MAX
];
38 #endif /* __LEDS_H_INCLUDED */