1c72a1d60SRichard Purdie /* 2c72a1d60SRichard Purdie * LED Core 3c72a1d60SRichard Purdie * 4c72a1d60SRichard Purdie * Copyright 2005 Openedhand Ltd. 5c72a1d60SRichard Purdie * 6c72a1d60SRichard Purdie * Author: Richard Purdie <rpurdie@openedhand.com> 7c72a1d60SRichard Purdie * 8c72a1d60SRichard Purdie * This program is free software; you can redistribute it and/or modify 9c72a1d60SRichard Purdie * it under the terms of the GNU General Public License version 2 as 10c72a1d60SRichard Purdie * published by the Free Software Foundation. 11c72a1d60SRichard Purdie * 12c72a1d60SRichard Purdie */ 13c72a1d60SRichard Purdie #ifndef __LEDS_H_INCLUDED 14c72a1d60SRichard Purdie #define __LEDS_H_INCLUDED 15c72a1d60SRichard Purdie 1672f8da32SRichard Purdie #include <linux/rwsem.h> 17c72a1d60SRichard Purdie #include <linux/leds.h> 18c72a1d60SRichard Purdie 190013b23dSNémeth Márton static inline int led_get_brightness(struct led_classdev *led_cdev) 200013b23dSNémeth Márton { 210013b23dSNémeth Márton return led_cdev->brightness; 220013b23dSNémeth Márton } 230013b23dSNémeth Márton 24757b06aeSJacek Anaszewski void led_init_core(struct led_classdev *led_cdev); 25d23a22a7SFabio Baltieri void led_stop_software_blink(struct led_classdev *led_cdev); 2681fe8e5bSJacek Anaszewski void led_set_brightness_nopm(struct led_classdev *led_cdev, 2781fe8e5bSJacek Anaszewski enum led_brightness value); 2881fe8e5bSJacek Anaszewski void led_set_brightness_nosleep(struct led_classdev *led_cdev, 2981fe8e5bSJacek Anaszewski enum led_brightness value); 30d23a22a7SFabio Baltieri 3172f8da32SRichard Purdie extern struct rw_semaphore leds_list_lock; 32c72a1d60SRichard Purdie extern struct list_head leds_list; 33*ba93cdceSEzequiel Garcia extern struct list_head trigger_list; 34c72a1d60SRichard Purdie 35c72a1d60SRichard Purdie #endif /* __LEDS_H_INCLUDED */ 36