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
, 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
);
31 extern struct rw_semaphore leds_list_lock
;
32 extern struct list_head leds_list
;
34 #endif /* __LEDS_H_INCLUDED */