2008-03-25 16:33:36 -07:00
/******************************************************************************
*
* Copyright ( c ) 2003 - 2008 Intel Corporation . All rights reserved .
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License for
* more details .
*
* You should have received a copy of the GNU General Public License along with
* this program ; if not , write to the Free Software Foundation , Inc . ,
* 51 Franklin Street , Fifth Floor , Boston , MA 02110 , USA
*
* The full GNU General Public License is included in this distribution in the
* file called LICENSE .
*
* Contact Information :
2008-12-09 11:28:58 -08:00
* Intel Linux Wireless < ilw @ linux . intel . com >
2008-03-25 16:33:36 -07:00
* Intel Corporation , 5200 N . E . Elam Young Parkway , Hillsboro , OR 97124 - 6497
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# ifndef IWL3945_LEDS_H
# define IWL3945_LEDS_H
struct iwl3945_priv ;
# ifdef CONFIG_IWL3945_LEDS
2008-12-19 10:37:13 +08:00
# include "iwl-led.h"
2008-03-25 16:33:36 -07:00
struct iwl3945_led {
struct iwl3945_priv * priv ;
struct led_classdev led_dev ;
2008-08-01 21:57:16 +02:00
char name [ 32 ] ;
2008-03-25 16:33:36 -07:00
int ( * led_on ) ( struct iwl3945_priv * priv , int led_id ) ;
int ( * led_off ) ( struct iwl3945_priv * priv , int led_id ) ;
int ( * led_pattern ) ( struct iwl3945_priv * priv , int led_id ,
2008-07-11 11:53:42 +08:00
unsigned int idx ) ;
2008-03-25 16:33:36 -07:00
enum led_type type ;
unsigned int registered ;
} ;
extern int iwl3945_led_register ( struct iwl3945_priv * priv ) ;
extern void iwl3945_led_unregister ( struct iwl3945_priv * priv ) ;
extern void iwl3945_led_background ( struct iwl3945_priv * priv ) ;
# else
static inline int iwl3945_led_register ( struct iwl3945_priv * priv ) { return 0 ; }
static inline void iwl3945_led_unregister ( struct iwl3945_priv * priv ) { }
static inline void iwl3945_led_background ( struct iwl3945_priv * priv ) { }
# endif /* CONFIG_IWL3945_LEDS */
# endif /* IWL3945_LEDS_H */