2006-03-31 14:31:04 +04:00
/*
* LED Core
*
* Copyright 2005 Openedhand Ltd .
*
* Author : Richard Purdie < rpurdie @ openedhand . com >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*
*/
# ifndef __LEDS_H_INCLUDED
# define __LEDS_H_INCLUDED
2007-07-09 02:19:31 +04:00
# include <linux/device.h>
2008-01-01 02:09:44 +03:00
# include <linux/rwsem.h>
2006-03-31 14:31:04 +04:00
# include <linux/leds.h>
static inline void led_set_brightness ( struct led_classdev * led_cdev ,
enum led_brightness value )
{
2009-01-10 21:54:39 +03:00
if ( value > led_cdev - > max_brightness )
value = led_cdev - > max_brightness ;
2006-03-31 14:31:04 +04:00
led_cdev - > brightness = value ;
if ( ! ( led_cdev - > flags & LED_SUSPENDED ) )
led_cdev - > brightness_set ( led_cdev , value ) ;
}
2008-03-09 23:54:37 +03:00
static inline int led_get_brightness ( struct led_classdev * led_cdev )
{
return led_cdev - > brightness ;
}
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 ;
2006-03-31 14:31:05 +04:00
# ifdef CONFIG_LEDS_TRIGGERS
void led_trigger_set_default ( struct led_classdev * led_cdev ) ;
void led_trigger_set ( struct led_classdev * led_cdev ,
struct led_trigger * trigger ) ;
2008-03-09 23:54:37 +03:00
void led_trigger_remove ( struct led_classdev * led_cdev ) ;
2006-03-31 14:31:05 +04:00
# else
2008-03-09 23:59:57 +03:00
# define led_trigger_set_default(x) do {} while (0)
# define led_trigger_set(x, y) do {} while (0)
# define led_trigger_remove(x) do {} while (0)
2006-03-31 14:31:05 +04:00
# endif
2007-07-09 02:19:31 +04:00
ssize_t led_trigger_store ( struct device * dev , struct device_attribute * attr ,
const char * buf , size_t count ) ;
ssize_t led_trigger_show ( struct device * dev , struct device_attribute * attr ,
char * buf ) ;
2006-03-31 14:31:05 +04:00
2006-03-31 14:31:04 +04:00
# endif /* __LEDS_H_INCLUDED */