blob: f681fefff281a11289cf2510eff1e34615083b54 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Antonio Ospite5054d392009-06-19 13:55:42 +02002/*
3 * leds-lp3944.h - platform data structure for lp3944 led controller
4 *
5 * Copyright (C) 2009 Antonio Ospite <ospite@studenti.unina.it>
Antonio Ospite5054d392009-06-19 13:55:42 +02006 */
7
8#ifndef __LINUX_LEDS_LP3944_H
9#define __LINUX_LEDS_LP3944_H
10
Antonio Ospite5054d392009-06-19 13:55:42 +020011#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
22enum 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
29enum lp3944_type {
30 LP3944_LED_TYPE_NONE,
31 LP3944_LED_TYPE_LED,
32 LP3944_LED_TYPE_LED_INVERTED,
33};
34
35struct lp3944_led {
36 char *name;
37 enum lp3944_type type;
38 enum lp3944_status status;
39};
40
41struct lp3944_platform_data {
42 struct lp3944_led leds[LP3944_LEDS_MAX];
43 u8 leds_size;
44};
45
46#endif /* __LINUX_LEDS_LP3944_H */