1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2f1d2b4d3SLarry Finger /* 3f1d2b4d3SLarry Finger * Definitions for RTL8187 leds 4f1d2b4d3SLarry Finger * 5f1d2b4d3SLarry Finger * Copyright 2009 Larry Finger <Larry.Finger@lwfinger.net> 6f1d2b4d3SLarry Finger * 7f1d2b4d3SLarry Finger * Based on the LED handling in the r8187 driver, which is: 8f1d2b4d3SLarry Finger * Copyright (c) Realtek Semiconductor Corp. All rights reserved. 9f1d2b4d3SLarry Finger */ 10f1d2b4d3SLarry Finger 11f1d2b4d3SLarry Finger #ifndef RTL8187_LED_H 12f1d2b4d3SLarry Finger #define RTL8187_LED_H 13f1d2b4d3SLarry Finger 14f1d2b4d3SLarry Finger #ifdef CONFIG_RTL8187_LEDS 15f1d2b4d3SLarry Finger 16f1d2b4d3SLarry Finger #define RTL8187_LED_MAX_NAME_LEN 21 17f1d2b4d3SLarry Finger 18f1d2b4d3SLarry Finger #include <linux/leds.h> 19f1d2b4d3SLarry Finger #include <linux/types.h> 20f1d2b4d3SLarry Finger 21f1d2b4d3SLarry Finger enum { 22f1d2b4d3SLarry Finger LED_PIN_LED0, 23f1d2b4d3SLarry Finger LED_PIN_LED1, 24f1d2b4d3SLarry Finger LED_PIN_GPIO0, 25f1d2b4d3SLarry Finger LED_PIN_HW 26f1d2b4d3SLarry Finger }; 27f1d2b4d3SLarry Finger 28f1d2b4d3SLarry Finger enum { 29f1d2b4d3SLarry Finger EEPROM_CID_RSVD0 = 0x00, 30f1d2b4d3SLarry Finger EEPROM_CID_RSVD1 = 0xFF, 31f1d2b4d3SLarry Finger EEPROM_CID_ALPHA0 = 0x01, 32f1d2b4d3SLarry Finger EEPROM_CID_SERCOMM_PS = 0x02, 33f1d2b4d3SLarry Finger EEPROM_CID_HW = 0x03, 34f1d2b4d3SLarry Finger EEPROM_CID_TOSHIBA = 0x04, 35f1d2b4d3SLarry Finger EEPROM_CID_QMI = 0x07, 36f1d2b4d3SLarry Finger EEPROM_CID_DELL = 0x08 37f1d2b4d3SLarry Finger }; 38f1d2b4d3SLarry Finger 39f1d2b4d3SLarry Finger struct rtl8187_led { 40f1d2b4d3SLarry Finger struct ieee80211_hw *dev; 41f1d2b4d3SLarry Finger /* The LED class device */ 42f1d2b4d3SLarry Finger struct led_classdev led_dev; 43f1d2b4d3SLarry Finger /* The pin/method used to control the led */ 44f1d2b4d3SLarry Finger u8 ledpin; 45f1d2b4d3SLarry Finger /* The unique name string for this LED device. */ 46f1d2b4d3SLarry Finger char name[RTL8187_LED_MAX_NAME_LEN + 1]; 47f1d2b4d3SLarry Finger /* If the LED is radio or tx/rx */ 48f1d2b4d3SLarry Finger bool is_radio; 49f1d2b4d3SLarry Finger }; 50f1d2b4d3SLarry Finger 51f1d2b4d3SLarry Finger void rtl8187_leds_init(struct ieee80211_hw *dev, u16 code); 52f1d2b4d3SLarry Finger void rtl8187_leds_exit(struct ieee80211_hw *dev); 53f1d2b4d3SLarry Finger 54f1d2b4d3SLarry Finger #endif /* def CONFIG_RTL8187_LEDS */ 55f1d2b4d3SLarry Finger 56f1d2b4d3SLarry Finger #endif /* RTL8187_LED_H */ 57