mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
ath10k-ct: replace LEDs patch with upstream patch
LEDs support for ath10k has finally merged upstream hence replace it with the upstream version. Link: https://github.com/openwrt/openwrt/pull/15735 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
parent
6b71ab630a
commit
3b2a81ec24
@ -1,102 +1,52 @@
|
|||||||
From: Sebastian Gottschall <s.gottschall@newmedia-net.de>
|
From 8e1debd82466a3fe711784ab37e6b54e56011267 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sebastian Gottschall <s.gottschall@dd-wrt.com>
|
||||||
Adds LED and GPIO Control support for 988x, 9887, 9888, 99x0, 9984 based
|
Date: Mon, 13 May 2024 17:22:25 +0300
|
||||||
chipsets with on chipset connected led's using WMI Firmware API. The LED
|
Subject: [PATCH] wifi: ath10k: add LED and GPIO controlling support for
|
||||||
device will get available named as "ath10k-phyX" at sysfs and can be controlled
|
various chipsets
|
||||||
with various triggers. adds also debugfs interface for gpio control.
|
|
||||||
|
|
||||||
This patch is specific for OpenWRt base, as is use old backported package
|
|
||||||
with old wireless source. Support for QCA9984 is removed.
|
|
||||||
Reworked to use ath10k-ct custom source
|
|
||||||
|
|
||||||
|
Adds LED and GPIO Control support for 988x, 9887, 9888, 99x0, 9984
|
||||||
|
based chipsets with on chipset connected led's using WMI Firmware API.
|
||||||
|
The LED device will get available named as "ath10k-phyX" at sysfs and
|
||||||
|
can be controlled with various triggers.
|
||||||
|
Adds also debugfs interface for gpio control.
|
||||||
|
|
||||||
Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
|
Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
|
||||||
Reviewed-by: Steve deRosier <derosier@cal-sierra.com>
|
Reviewed-by: Steve deRosier <derosier@cal-sierra.com>
|
||||||
[kvalo: major reorg and cleanup]
|
[kvalo: major reorg and cleanup]
|
||||||
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||||
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
[ansuel: rebase and small cleanup]
|
||||||
|
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
|
||||||
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
||||||
|
Link: https://msgid.link/20230611080505.17393-1-ansuelsmth@gmail.com
|
||||||
---
|
---
|
||||||
|
ath10k-6.4/Kconfig | 6 ++
|
||||||
v13:
|
ath10k-6.4/Makefile | 1 +
|
||||||
|
ath10k-6.4/core.c | 32 ++++++++
|
||||||
* only compile tested!
|
ath10k-6.4/core.h | 8 ++
|
||||||
|
ath10k-6.4/hw.h | 1 +
|
||||||
* fix all checkpatch warnings
|
ath10k-6.4/leds.c | 90 +++++++++++++++++++++++
|
||||||
|
ath10k-6.4/leds.h | 34 +++++++++
|
||||||
* fix commit log
|
ath10k-6.4/mac.c | 1 +
|
||||||
|
ath10k-6.4/wmi-ops.h | 32 ++++++++
|
||||||
* sizeof(struct ath10k_gpiocontrol) -> sizeof(*gpio)
|
ath10k-6.4/wmi-tlv.c | 2 +
|
||||||
|
ath10k-6.4/wmi.c | 54 ++++++++++++++
|
||||||
* unsigned -> unsigned int
|
ath10k-6.4/wmi.h | 35 +++++++++
|
||||||
|
12 files changed, 296 insertions(+)
|
||||||
* remove GPIOLIB code, that should be added in a separate patch
|
|
||||||
|
|
||||||
* rename gpio.c to leds.c
|
|
||||||
|
|
||||||
* add leds.h
|
|
||||||
|
|
||||||
* rename some functions:
|
|
||||||
|
|
||||||
ath10k_attach_led() -> ath10k_leds_register()
|
|
||||||
ath10k_unregister_led() -> ath10k_leds_unregister()
|
|
||||||
ath10k_reset_led_pin() -> ath10k_leds_start()
|
|
||||||
|
|
||||||
* call ath10k_leds_unregister() before ath10k_thermal_unregister() to preserve ordering
|
|
||||||
|
|
||||||
* call ath10k_leds_start() only from ath10k_core_start() and not from mac.c
|
|
||||||
|
|
||||||
* rename struct ath10k_gpiocontrol as anonymous function under struct
|
|
||||||
ath10k::leds, no need for memory allocation
|
|
||||||
|
|
||||||
* merge ath10k_add_led() to ath10k_attach_led(), which is it's only caller
|
|
||||||
|
|
||||||
* remove #if IS_ENABLED() checks from most of places, memory savings from those were not worth it
|
|
||||||
|
|
||||||
* Kconfig help text improvement and move it lower in the menu, also don't enable it by default
|
|
||||||
|
|
||||||
* switch to set_brightness_blocking() so that the callback can sleep,
|
|
||||||
then no need to use ath10k_wmi_cmd_send_nowait() and can take mutex
|
|
||||||
to access ar->state
|
|
||||||
|
|
||||||
* don't touch ath10k_wmi_pdev_get_temperature()
|
|
||||||
|
|
||||||
* as QCA6174/QCA9377 are not (yet) supported don't add the command to WMI-TLV interface
|
|
||||||
|
|
||||||
* remove debugfs interface, that should be added in another patch
|
|
||||||
|
|
||||||
* cleanup includes
|
|
||||||
|
|
||||||
ath10k-6.4/Kconfig | 10 +++
|
|
||||||
ath10k-6.4/Makefile | 1 +
|
|
||||||
ath10k-6.4/core.c | 22 +++++++
|
|
||||||
ath10k-6.4/core.h | 9 ++-
|
|
||||||
ath10k-6.4/hw.h | 1 +
|
|
||||||
ath10k-6.4/leds.c | 103 ++++++++++++++++++++++++++++++
|
|
||||||
ath10k-6.4/leds.h | 45 +++++++++++++
|
|
||||||
ath10k-6.4/mac.c | 1 +
|
|
||||||
ath10k-6.4/wmi-ops.h | 32 ++++++++++
|
|
||||||
ath10k-6.4/wmi-tlv.c | 2 +
|
|
||||||
ath10k-6.4/wmi.c | 54 ++++++++++++++++
|
|
||||||
ath10k-6.4/wmi.h | 35 ++++++++++
|
|
||||||
12 files changed, 314 insertions(+), 1 deletion(-)
|
|
||||||
create mode 100644 ath10k-6.4/leds.c
|
create mode 100644 ath10k-6.4/leds.c
|
||||||
create mode 100644 ath10k-6.4/leds.h
|
create mode 100644 ath10k-6.4/leds.h
|
||||||
|
|
||||||
--- a/ath10k-6.4/Kconfig
|
--- a/ath10k-6.4/Kconfig
|
||||||
+++ b/ath10k-6.4/Kconfig
|
+++ b/ath10k-6.4/Kconfig
|
||||||
@@ -67,6 +67,16 @@ config ATH10K_DEBUGFS
|
@@ -67,6 +67,12 @@ config ATH10K_DEBUGFS
|
||||||
|
|
||||||
If unsure, say Y to make it easier to debug problems.
|
If unsure, say Y to make it easier to debug problems.
|
||||||
|
|
||||||
+config ATH10K_LEDS
|
+config ATH10K_LEDS
|
||||||
+ bool "Atheros ath10k LED support"
|
+ bool
|
||||||
+ depends on ATH10K
|
+ depends on ATH10K
|
||||||
+ select MAC80211_LEDS
|
+ depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
|
||||||
+ select LEDS_CLASS
|
|
||||||
+ select NEW_LEDS
|
|
||||||
+ default y
|
+ default y
|
||||||
+ ---help---
|
|
||||||
+ This option is necessary, if you want LED support for chipset connected led pins. If unsure, say N.
|
|
||||||
+
|
+
|
||||||
config ATH10K_SPECTRAL
|
config ATH10K_SPECTRAL
|
||||||
bool "Atheros ath10k spectral scan support"
|
bool "Atheros ath10k spectral scan support"
|
||||||
@ -121,47 +71,135 @@ v13:
|
|||||||
|
|
||||||
/* Disable ath10k-ct DBGLOG output by default */
|
/* Disable ath10k-ct DBGLOG output by default */
|
||||||
unsigned int ath10k_debug_mask = ATH10K_DBG_NO_DBGLOG;
|
unsigned int ath10k_debug_mask = ATH10K_DBG_NO_DBGLOG;
|
||||||
@@ -78,6 +79,7 @@ static const struct ath10k_hw_params ath
|
@@ -80,6 +81,7 @@ static const struct ath10k_hw_params ath
|
||||||
.dev_id = QCA988X_2_0_DEVICE_ID,
|
|
||||||
.bus = ATH10K_BUS_PCI,
|
|
||||||
.name = "qca988x hw2.0",
|
.name = "qca988x hw2.0",
|
||||||
+ .led_pin = 1,
|
|
||||||
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
|
||||||
@@ -159,6 +161,7 @@ static const struct ath10k_hw_params ath
|
|
||||||
.dev_id = QCA9887_1_0_DEVICE_ID,
|
|
||||||
.bus = ATH10K_BUS_PCI,
|
|
||||||
.name = "qca9887 hw1.0",
|
|
||||||
+ .led_pin = 1,
|
+ .led_pin = 1,
|
||||||
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
@@ -120,6 +122,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca988x hw2.0 ubiquiti",
|
||||||
|
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 7,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
@@ -161,6 +164,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca9887 hw1.0",
|
||||||
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
|
+ .led_pin = 1,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||||
@@ -400,6 +403,7 @@ static const struct ath10k_hw_params ath
|
.otp_exe_param = 0,
|
||||||
.dev_id = QCA99X0_2_0_DEVICE_ID,
|
.channel_counters_freq_hz = 88000,
|
||||||
.bus = ATH10K_BUS_PCI,
|
@@ -202,6 +206,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca6174 hw3.2 sdio",
|
||||||
|
.patch_load_addr = QCA6174_HW_3_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 19,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -238,6 +243,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca6164 hw2.1",
|
||||||
|
.patch_load_addr = QCA6174_HW_2_1_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 6,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -278,6 +284,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca6174 hw2.1",
|
||||||
|
.patch_load_addr = QCA6174_HW_2_1_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 6,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -318,6 +325,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca6174 hw3.0",
|
||||||
|
.patch_load_addr = QCA6174_HW_3_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 6,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -358,6 +366,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca6174 hw3.2",
|
||||||
|
.patch_load_addr = QCA6174_HW_3_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 6,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -402,6 +411,7 @@ static const struct ath10k_hw_params ath
|
||||||
.name = "qca99x0 hw2.0",
|
.name = "qca99x0 hw2.0",
|
||||||
+ .led_pin = 17,
|
|
||||||
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.otp_exe_param = 0x00000700,
|
|
||||||
@@ -446,6 +450,7 @@ static const struct ath10k_hw_params ath
|
|
||||||
.dev_id = QCA9984_1_0_DEVICE_ID,
|
|
||||||
.bus = ATH10K_BUS_PCI,
|
|
||||||
.name = "qca9984/qca9994 hw1.0",
|
|
||||||
+ .led_pin = 17,
|
+ .led_pin = 17,
|
||||||
|
.otp_exe_param = 0x00000700,
|
||||||
|
.continuous_frag_desc = true,
|
||||||
|
.cck_rate_map_rev2 = true,
|
||||||
|
@@ -448,6 +458,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca9984/qca9994 hw1.0",
|
||||||
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
|
||||||
@@ -499,6 +504,7 @@ static const struct ath10k_hw_params ath
|
|
||||||
.dev_id = QCA9888_2_0_DEVICE_ID,
|
|
||||||
.bus = ATH10K_BUS_PCI,
|
|
||||||
.name = "qca9888 hw2.0",
|
|
||||||
+ .led_pin = 17,
|
+ .led_pin = 17,
|
||||||
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||||
|
.otp_exe_param = 0x00000700,
|
||||||
|
.continuous_frag_desc = true,
|
||||||
|
@@ -501,6 +512,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca9888 hw2.0",
|
||||||
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
|
+ .led_pin = 17,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||||
@@ -4080,6 +4086,10 @@ int ath10k_core_start(struct ath10k *ar,
|
.otp_exe_param = 0x00000700,
|
||||||
|
.continuous_frag_desc = true,
|
||||||
|
@@ -551,6 +563,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca9377 hw1.0",
|
||||||
|
.patch_load_addr = QCA9377_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 6,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -591,6 +604,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca9377 hw1.1",
|
||||||
|
.patch_load_addr = QCA9377_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 6,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -633,6 +647,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca9377 hw1.1 sdio",
|
||||||
|
.patch_load_addr = QCA9377_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 19,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.otp_exe_param = 0,
|
||||||
|
.channel_counters_freq_hz = 88000,
|
||||||
|
.max_probe_resp_desc_thres = 0,
|
||||||
|
@@ -666,6 +681,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.name = "qca4019 hw1.0",
|
||||||
|
.patch_load_addr = QCA4019_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
|
.uart_pin = 7,
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||||
|
.otp_exe_param = 0x0010000,
|
||||||
|
.continuous_frag_desc = true,
|
||||||
|
@@ -711,6 +727,7 @@ static const struct ath10k_hw_params ath
|
||||||
|
.dev_id = 0,
|
||||||
|
.bus = ATH10K_BUS_SNOC,
|
||||||
|
.name = "wcn3990 hw1.0",
|
||||||
|
+ .led_pin = 0,
|
||||||
|
.continuous_frag_desc = true,
|
||||||
|
.tx_chain_mask = 0x7,
|
||||||
|
.rx_chain_mask = 0x7,
|
||||||
|
@@ -4080,6 +4097,10 @@ int ath10k_core_start(struct ath10k *ar,
|
||||||
ath10k_wmi_check_apply_board_power_ctl_table(ar);
|
ath10k_wmi_check_apply_board_power_ctl_table(ar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +210,7 @@ v13:
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_hif_stop:
|
err_hif_stop:
|
||||||
@@ -4341,9 +4351,18 @@ static void ath10k_core_register_work(st
|
@@ -4341,9 +4362,18 @@ static void ath10k_core_register_work(st
|
||||||
goto err_spectral_destroy;
|
goto err_spectral_destroy;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,7 +229,7 @@ v13:
|
|||||||
err_spectral_destroy:
|
err_spectral_destroy:
|
||||||
ath10k_spectral_destroy(ar);
|
ath10k_spectral_destroy(ar);
|
||||||
err_debug_destroy:
|
err_debug_destroy:
|
||||||
@@ -4403,6 +4422,8 @@ void ath10k_core_unregister(struct ath10
|
@@ -4403,6 +4433,8 @@ void ath10k_core_unregister(struct ath10
|
||||||
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
|
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -236,24 +274,13 @@ v13:
|
|||||||
/* Type of hw cycle counter wraparound logic, for more info
|
/* Type of hw cycle counter wraparound logic, for more info
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/ath10k-6.4/leds.c
|
+++ b/ath10k-6.4/leds.c
|
||||||
@@ -0,0 +1,103 @@
|
@@ -0,0 +1,90 @@
|
||||||
|
+// SPDX-License-Identifier: ISC
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2005-2011 Atheros Communications Inc.
|
+ * Copyright (c) 2005-2011 Atheros Communications Inc.
|
||||||
+ * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
|
+ * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
|
||||||
+ * Copyright (c) 2018 Sebastian Gottschall <s.gottschall@dd-wrt.com>
|
+ * Copyright (c) 2018 Sebastian Gottschall <s.gottschall@dd-wrt.com>
|
||||||
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
+ * Copyright (c) 2018 The Linux Foundation. All rights reserved.
|
||||||
+ *
|
|
||||||
+ * Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
+ * purpose with or without fee is hereby granted, provided that the above
|
|
||||||
+ * copyright notice and this permission notice appear in all copies.
|
|
||||||
+ *
|
|
||||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
||||||
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+#include <linux/leds.h>
|
+#include <linux/leds.h>
|
||||||
@ -320,8 +347,6 @@ v13:
|
|||||||
+
|
+
|
||||||
+ ar->leds.cdev.name = ar->leds.label;
|
+ ar->leds.cdev.name = ar->leds.label;
|
||||||
+ ar->leds.cdev.brightness_set_blocking = ath10k_leds_set_brightness_blocking;
|
+ ar->leds.cdev.brightness_set_blocking = ath10k_leds_set_brightness_blocking;
|
||||||
+
|
|
||||||
+ /* FIXME: this assignment doesn't make sense as it's NULL, remove it? */
|
|
||||||
+ ar->leds.cdev.default_trigger = ar->leds.wifi_led.default_trigger;
|
+ ar->leds.cdev.default_trigger = ar->leds.wifi_led.default_trigger;
|
||||||
+
|
+
|
||||||
+ ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev);
|
+ ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev);
|
||||||
@ -342,22 +367,15 @@ v13:
|
|||||||
+
|
+
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/ath10k-6.4/leds.h
|
+++ b/ath10k-6.4/leds.h
|
||||||
@@ -0,0 +1,41 @@
|
@@ -0,0 +1,34 @@
|
||||||
|
+/* SPDX-License-Identifier: ISC */
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
+ * Copyright (c) 2005-2011 Atheros Communications Inc.
|
||||||
+ *
|
+ * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
|
||||||
+ * Permission to use, copy, modify, and/or distribute this software for any
|
+ * Copyright (c) 2018 Sebastian Gottschall <s.gottschall@dd-wrt.com>
|
||||||
+ * purpose with or without fee is hereby granted, provided that the above
|
+ * Copyright (c) 2018 The Linux Foundation. All rights reserved.
|
||||||
+ * copyright notice and this permission notice appear in all copies.
|
|
||||||
+ *
|
|
||||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
||||||
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
+ */
|
+ */
|
||||||
|
+
|
||||||
+#ifndef _LEDS_H_
|
+#ifndef _LEDS_H_
|
||||||
+#define _LEDS_H_
|
+#define _LEDS_H_
|
||||||
+
|
+
|
@ -29,12 +29,10 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
|
|||||||
};
|
};
|
||||||
--- a/ath10k-6.4/leds.c
|
--- a/ath10k-6.4/leds.c
|
||||||
+++ b/ath10k-6.4/leds.c
|
+++ b/ath10k-6.4/leds.c
|
||||||
@@ -81,9 +81,7 @@ int ath10k_leds_register(struct ath10k *
|
@@ -70,7 +70,7 @@ int ath10k_leds_register(struct ath10k *
|
||||||
|
|
||||||
ar->leds.cdev.name = ar->leds.label;
|
ar->leds.cdev.name = ar->leds.label;
|
||||||
ar->leds.cdev.brightness_set_blocking = ath10k_leds_set_brightness_blocking;
|
ar->leds.cdev.brightness_set_blocking = ath10k_leds_set_brightness_blocking;
|
||||||
-
|
|
||||||
- /* FIXME: this assignment doesn't make sense as it's NULL, remove it? */
|
|
||||||
- ar->leds.cdev.default_trigger = ar->leds.wifi_led.default_trigger;
|
- ar->leds.cdev.default_trigger = ar->leds.wifi_led.default_trigger;
|
||||||
+ ar->leds.cdev.default_trigger = ar->led_default_trigger;
|
+ ar->leds.cdev.default_trigger = ar->led_default_trigger;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user