0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef __LEDS_H_INCLUDED
0010 #define __LEDS_H_INCLUDED
0011
0012 #include <linux/rwsem.h>
0013 #include <linux/leds.h>
0014
0015 static inline int led_get_brightness(struct led_classdev *led_cdev)
0016 {
0017 return led_cdev->brightness;
0018 }
0019
0020 void led_init_core(struct led_classdev *led_cdev);
0021 void led_stop_software_blink(struct led_classdev *led_cdev);
0022 void led_set_brightness_nopm(struct led_classdev *led_cdev, unsigned int value);
0023 void led_set_brightness_nosleep(struct led_classdev *led_cdev, unsigned int value);
0024 ssize_t led_trigger_read(struct file *filp, struct kobject *kobj,
0025 struct bin_attribute *attr, char *buf,
0026 loff_t pos, size_t count);
0027 ssize_t led_trigger_write(struct file *filp, struct kobject *kobj,
0028 struct bin_attribute *bin_attr, char *buf,
0029 loff_t pos, size_t count);
0030 enum led_default_state led_init_default_state_get(struct fwnode_handle *fwnode);
0031
0032 extern struct rw_semaphore leds_list_lock;
0033 extern struct list_head leds_list;
0034 extern struct list_head trigger_list;
0035 extern const char * const led_colors[LED_COLOR_ID_MAX];
0036
0037 #endif