Merge tag 'v5.3-rc1' into patchwork
[platform/kernel/linux-starfive.git] / include / linux / leds-lp3944.h
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 */