2019-06-04 11:11:33 +03:00
/* SPDX-License-Identifier: GPL-2.0-only */
2006-03-31 14:31:04 +04:00
/*
* LED Core
*
* Copyright 2005 Openedhand Ltd .
*
* Author : Richard Purdie < rpurdie @ openedhand . com >
*/
# ifndef __LEDS_H_INCLUDED
# define __LEDS_H_INCLUDED
2008-01-01 02:09:44 +03:00
# include <linux/rwsem.h>
2006-03-31 14:31:04 +04:00
# include <linux/leds.h>
2008-03-09 23:54:37 +03:00
static inline int led_get_brightness ( struct led_classdev * led_cdev )
{
return led_cdev - > brightness ;
}
2015-09-28 15:38:04 +03:00
void led_init_core ( struct led_classdev * led_cdev ) ;
2012-08-15 17:44:34 +04:00
void led_stop_software_blink ( struct led_classdev * led_cdev ) ;
2020-12-11 23:42:08 +03:00
void led_set_brightness_nopm ( struct led_classdev * led_cdev , unsigned int value ) ;
void led_set_brightness_nosleep ( struct led_classdev * led_cdev , unsigned int value ) ;
2019-09-29 17:18:49 +03:00
ssize_t led_trigger_read ( struct file * filp , struct kobject * kobj ,
struct bin_attribute * attr , char * buf ,
loff_t pos , size_t count ) ;
ssize_t led_trigger_write ( struct file * filp , struct kobject * kobj ,
struct bin_attribute * bin_attr , char * buf ,
loff_t pos , size_t count ) ;
2021-06-08 09:35:53 +03:00
enum led_default_state led_init_default_state_get ( struct fwnode_handle * fwnode ) ;
2012-08-15 17:44:34 +04:00
2008-01-01 02:09:44 +03:00
extern struct rw_semaphore leds_list_lock ;
2006-03-31 14:31:04 +04:00
extern struct list_head leds_list ;
2016-04-29 01:03:38 +03:00
extern struct list_head trigger_list ;
2019-06-09 21:19:04 +03:00
extern const char * const led_colors [ LED_COLOR_ID_MAX ] ;
2006-03-31 14:31:04 +04:00
# endif /* __LEDS_H_INCLUDED */