xref: /linux/drivers/net/wireless/realtek/rtl818x/rtl8187/leds.h (revision e58e871becec2d3b04ed91c0c16fe8deac9c9dfa)
1 /*
2  * Definitions for RTL8187 leds
3  *
4  * Copyright 2009 Larry Finger <Larry.Finger@lwfinger.net>
5  *
6  * Based on the LED handling in the r8187 driver, which is:
7  * Copyright (c) Realtek Semiconductor Corp. All rights reserved.
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2 as
11  * published by the Free Software Foundation.
12  */
13 
14 #ifndef RTL8187_LED_H
15 #define RTL8187_LED_H
16 
17 #ifdef CONFIG_RTL8187_LEDS
18 
19 #define RTL8187_LED_MAX_NAME_LEN	21
20 
21 #include <linux/leds.h>
22 #include <linux/types.h>
23 
24 enum {
25 	LED_PIN_LED0,
26 	LED_PIN_LED1,
27 	LED_PIN_GPIO0,
28 	LED_PIN_HW
29 };
30 
31 enum {
32 	EEPROM_CID_RSVD0 = 0x00,
33 	EEPROM_CID_RSVD1 = 0xFF,
34 	EEPROM_CID_ALPHA0 = 0x01,
35 	EEPROM_CID_SERCOMM_PS = 0x02,
36 	EEPROM_CID_HW = 0x03,
37 	EEPROM_CID_TOSHIBA = 0x04,
38 	EEPROM_CID_QMI = 0x07,
39 	EEPROM_CID_DELL = 0x08
40 };
41 
42 struct rtl8187_led {
43 	struct ieee80211_hw *dev;
44 	/* The LED class device */
45 	struct led_classdev led_dev;
46 	/* The pin/method used to control the led */
47 	u8 ledpin;
48 	/* The unique name string for this LED device. */
49 	char name[RTL8187_LED_MAX_NAME_LEN + 1];
50 	/* If the LED is radio or tx/rx */
51 	bool is_radio;
52 };
53 
54 void rtl8187_leds_init(struct ieee80211_hw *dev, u16 code);
55 void rtl8187_leds_exit(struct ieee80211_hw *dev);
56 
57 #endif /* def CONFIG_RTL8187_LEDS */
58 
59 #endif /* RTL8187_LED_H */
60