1
0
mirror of https://github.com/morrownr/8821cu-20210916.git synced 2024-12-22 06:15:50 +00:00

LED control support

This commit is contained in:
morrownr 2022-11-28 12:29:12 -06:00
parent 34c3bda2c5
commit 134272b6cd
5 changed files with 41 additions and 2 deletions

View File

@ -17,8 +17,15 @@ EXTRA_CFLAGS += -Wno-unused-variable
#EXTRA_CFLAGS += -Wno-vla #EXTRA_CFLAGS += -Wno-vla
EXTRA_CFLAGS += -Wno-misleading-indentation EXTRA_CFLAGS += -Wno-misleading-indentation
EXTRA_CFLAGS += -Wno-implicit-fallthrough EXTRA_CFLAGS += -Wno-implicit-fallthrough
# Activates Concurrent Mode if uncommented
#EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE #EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
# LED Control
EXTRA_CFLAGS += -DCONFIG_LED_CONTROL
EXTRA_CFLAGS += -DCONFIG_SW_LED -DCONFIG_RTW_SW_LED
EXTRA_CFLAGS += -DCONFIG_LED_ENABLE
# gcc-12 # gcc-12
EXTRA_CFLAGS += -Wno-address EXTRA_CFLAGS += -Wno-address
EXTRA_CFLAGS += -Wframe-larger-than=1648 EXTRA_CFLAGS += -Wframe-larger-than=1648

View File

@ -1745,6 +1745,22 @@ void BlinkHandler(PLED_USB pLed)
return; return;
} }
#ifdef CONFIG_SW_LED
// 1 is normal blinking
if (padapter->registrypriv.led_ctrl != 1) {
if (padapter->registrypriv.led_ctrl == 0)
{
// Set LED to off
pLed->BlinkingLedState = RTW_LED_OFF;
} else {
// Set LED to solid for 2 or greater
pLed->BlinkingLedState = RTW_LED_ON;
}
// Skip various switch cases where SwLedBlink*() is called below
pLed->CurrLedState = LED_UNKNOWN;
}
#endif
switch (ledpriv->LedStrategy) { switch (ledpriv->LedStrategy) {
#if CONFIG_RTW_SW_LED_TRX_DA_CLASSIFY #if CONFIG_RTW_SW_LED_TRX_DA_CLASSIFY
case SW_LED_MODE_UC_TRX_ONLY: case SW_LED_MODE_UC_TRX_ONLY:
@ -4287,4 +4303,4 @@ DeInitLed(
_cancel_timer_ex(&(pLed->BlinkTimer)); _cancel_timer_ex(&(pLed->BlinkTimer));
ResetLedStatus(pLed); ResetLedStatus(pLed);
} }
#endif #endif

View File

@ -167,7 +167,7 @@
#define CONFIG_RTW_LED #define CONFIG_RTW_LED
#ifdef CONFIG_RTW_LED #ifdef CONFIG_RTW_LED
#define CONFIG_RTW_SW_LED // #define CONFIG_RTW_SW_LED
#ifdef CONFIG_RTW_SW_LED #ifdef CONFIG_RTW_SW_LED
/* #define CONFIG_RTW_LED_HANDLED_BY_CMD_THREAD */ /* #define CONFIG_RTW_LED_HANDLED_BY_CMD_THREAD */
#endif #endif

View File

@ -242,6 +242,9 @@ struct registry_priv {
#ifdef CONFIG_TX_EARLY_MODE #ifdef CONFIG_TX_EARLY_MODE
u8 early_mode; u8 early_mode;
#endif #endif
#ifdef CONFIG_SW_LED
u8 led_ctrl;
#endif
#ifdef CONFIG_NARROWBAND_SUPPORTING #ifdef CONFIG_NARROWBAND_SUPPORTING
u8 rtw_nb_config; u8 rtw_nb_config;
#endif #endif

View File

@ -142,6 +142,10 @@ int rtw_check_fw_ps = 1;
int rtw_early_mode = 1; int rtw_early_mode = 1;
#endif #endif
#ifdef CONFIG_SW_LED
int rtw_led_ctrl = 1; // default to normal blinking
#endif
int rtw_usb_rxagg_mode = 2;/* RX_AGG_DMA=1, RX_AGG_USB=2 */ int rtw_usb_rxagg_mode = 2;/* RX_AGG_DMA=1, RX_AGG_USB=2 */
module_param(rtw_usb_rxagg_mode, int, 0644); module_param(rtw_usb_rxagg_mode, int, 0644);
@ -612,6 +616,12 @@ module_param(rtw_pci_aspm_enable, int, 0644);
#ifdef CONFIG_TX_EARLY_MODE #ifdef CONFIG_TX_EARLY_MODE
module_param(rtw_early_mode, int, 0644); module_param(rtw_early_mode, int, 0644);
#endif #endif
#ifdef CONFIG_SW_LED
module_param(rtw_led_ctrl, int, 0644);
MODULE_PARM_DESC(rtw_led_ctrl,"Led Control: 0=Always off, 1=Normal blink, 2=Always on");
#endif
#ifdef CONFIG_ADAPTOR_INFO_CACHING_FILE #ifdef CONFIG_ADAPTOR_INFO_CACHING_FILE
char *rtw_adaptor_info_caching_file_path = "/data/misc/wifi/rtw_cache"; char *rtw_adaptor_info_caching_file_path = "/data/misc/wifi/rtw_cache";
module_param(rtw_adaptor_info_caching_file_path, charp, 0644); module_param(rtw_adaptor_info_caching_file_path, charp, 0644);
@ -1307,6 +1317,9 @@ uint loadparam(_adapter *padapter)
#ifdef CONFIG_TX_EARLY_MODE #ifdef CONFIG_TX_EARLY_MODE
registry_par->early_mode = (u8)rtw_early_mode; registry_par->early_mode = (u8)rtw_early_mode;
#endif
#ifdef CONFIG_SW_LED
registry_par->led_ctrl = (u8)rtw_led_ctrl;
#endif #endif
registry_par->trx_path_bmp = (u8)rtw_trx_path_bmp; registry_par->trx_path_bmp = (u8)rtw_trx_path_bmp;
registry_par->tx_path_lmt = (u8)rtw_tx_path_lmt; registry_par->tx_path_lmt = (u8)rtw_tx_path_lmt;