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
24enum {
25	LED_PIN_LED0,
26	LED_PIN_LED1,
27	LED_PIN_GPIO0,
28	LED_PIN_HW
29};
30
31enum {
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
42struct 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
54void rtl8187_leds_init(struct ieee80211_hw *dev, u16 code);
55void rtl8187_leds_exit(struct ieee80211_hw *dev);
56
57#endif /* def CONFIG_RTL8187_LEDS */
58
59#endif /* RTL8187_LED_H */
60