1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * leds-lp3944.h - platform data structure for lp3944 led controller 4 * 5 * Copyright (C) 2009 Antonio Ospite <ospite@studenti.unina.it> 6 */ 7 8 #ifndef __LINUX_LEDS_LP3944_H 9 #define __LINUX_LEDS_LP3944_H 10 11 #define LP3944_LED0 0 12 #define LP3944_LED1 1 13 #define LP3944_LED2 2 14 #define LP3944_LED3 3 15 #define LP3944_LED4 4 16 #define LP3944_LED5 5 17 #define LP3944_LED6 6 18 #define LP3944_LED7 7 19 #define LP3944_LEDS_MAX 8 20 21 #define LP3944_LED_STATUS_MASK 0x03 22 enum lp3944_status { 23 LP3944_LED_STATUS_OFF = 0x0, 24 LP3944_LED_STATUS_ON = 0x1, 25 LP3944_LED_STATUS_DIM0 = 0x2, 26 LP3944_LED_STATUS_DIM1 = 0x3 27 }; 28 29 enum lp3944_type { 30 LP3944_LED_TYPE_NONE, 31 LP3944_LED_TYPE_LED, 32 LP3944_LED_TYPE_LED_INVERTED, 33 }; 34 35 struct lp3944_led { 36 char *name; 37 enum lp3944_type type; 38 enum lp3944_status status; 39 }; 40 41 struct lp3944_platform_data { 42 struct lp3944_led leds[LP3944_LEDS_MAX]; 43 u8 leds_size; 44 }; 45 46 #endif /* __LINUX_LEDS_LP3944_H */ 47