Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * leds-lp3944.h - platform data structure for lp3944 led controller
0004  *
0005  * Copyright (C) 2009 Antonio Ospite <ospite@studenti.unina.it>
0006  */
0007 
0008 #ifndef __LINUX_LEDS_LP3944_H
0009 #define __LINUX_LEDS_LP3944_H
0010 
0011 #define LP3944_LED0 0
0012 #define LP3944_LED1 1
0013 #define LP3944_LED2 2
0014 #define LP3944_LED3 3
0015 #define LP3944_LED4 4
0016 #define LP3944_LED5 5
0017 #define LP3944_LED6 6
0018 #define LP3944_LED7 7
0019 #define LP3944_LEDS_MAX 8
0020 
0021 #define LP3944_LED_STATUS_MASK  0x03
0022 enum lp3944_status {
0023     LP3944_LED_STATUS_OFF  = 0x0,
0024     LP3944_LED_STATUS_ON   = 0x1,
0025     LP3944_LED_STATUS_DIM0 = 0x2,
0026     LP3944_LED_STATUS_DIM1 = 0x3
0027 };
0028 
0029 enum lp3944_type {
0030     LP3944_LED_TYPE_NONE,
0031     LP3944_LED_TYPE_LED,
0032     LP3944_LED_TYPE_LED_INVERTED,
0033 };
0034 
0035 struct lp3944_led {
0036     char *name;
0037     enum lp3944_type type;
0038     enum lp3944_status status;
0039 };
0040 
0041 struct lp3944_platform_data {
0042     struct lp3944_led leds[LP3944_LEDS_MAX];
0043     u8 leds_size;
0044 };
0045 
0046 #endif /* __LINUX_LEDS_LP3944_H */