Re: [PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible
From: Miaoqing Pan
Date: Wed Jan 28 2026 - 03:06:31 EST
On 1/28/2026 4:01 PM, Krzysztof Kozlowski wrote:
On 27/01/2026 18:31, Jeff Johnson wrote:
On 1/21/2026 1:50 AM, Miaoqing Pan wrote:
The 'firmware-name' property was introduced to allow end-users and
integrators to select use-case-specific firmware for the WCN6855.
But for M.2 WLAN chips, there is no suitable DTS node to specify
the 'firmware-name' property. In addition, assigning firmware for
the M.2 PCIe interface causes chips that do not use use-case-specific
firmware to fail. Therefore, abandoning the approach of specifying
firmware in DTS. As an alternative, propose a static lookup table
mapping device compatible to firmware names.
---
v2:
- Drops `firmware-name` from completely.
- Updates the commit message to clearly state that the property is
obsolete and the change is ABI-breaking but safe for upstream.
v3:
- Deprecate 'firmware-name' property instead of obsolete.
- Keep the ABI backwards compatible.
v4:
- Use of_machine_is_compatible() to simplify the code.
- Add back Acked-by tag.
---
Miaoqing Pan (2):
wifi: ath11k: add usecase firmware handling based on device compatible
dt-bindings: net: wireless: ath11k-pci: deprecate 'firmware-name'
property
.../net/wireless/qcom,ath11k-pci.yaml | 1 +
drivers/net/wireless/ath/ath11k/core.c | 27 +++++++++++++++++++
drivers/net/wireless/ath/ath11k/core.h | 4 +++
3 files changed, 32 insertions(+)
base-commit: d8e1f4a193101a72235416f189b01131a57e26e9
Krzysztof,
Since you previously NAKed this series, can you confirm that your review
comments have been addressed?
Binding looks fine, but I did not check the driver.
Best regards,
Krzysztof
The driver has retained compatibility with the firmware-name.
static inline const char *ath11k_scan_state_str(enum ath11k_scan_state state)
{
@@ -1346,6 +1347,9 @@ static inline void ath11k_core_create_firmware_path(struct ath11k_base *ab,
of_property_read_string(ab->dev->of_node, "firmware-name", &fw_name); //here
+ if (!fw_name)
+ fw_name = ath11k_core_get_usecase_firmware(ab);
+