[PATCH v4 ath-current 0/2] wifi: ath11k: add usecase firmware handling based on device compatible

Miaoqing Pan miaoqing.pan at oss.qualcomm.com
Wed Jan 28 00:06:05 PST 2026



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);
+



More information about the ath11k mailing list