Bluetooth: qca: simplify WCN399x NVM loading
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 7 Feb 2025 20:41:16 +0000 (22:41 +0200)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tue, 25 Mar 2025 16:42:19 +0000 (12:42 -0400)
The WCN399x code has two separate cases for loading the NVM data. In
preparation to adding support for WCN3950, which also requires similar
quirk, split the "variant" to be specified explicitly and merge two
snprintfs into a single one.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btqca.c

index cdf09d9..7d6b02f 100644 (file)
@@ -785,6 +785,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
                   const char *firmware_name, const char *rampatch_name)
 {
        struct qca_fw_config config = {};
+       const char *variant = "";
        int err;
        u8 rom_ver = 0;
        u32 soc_ver;
@@ -883,13 +884,11 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
                case QCA_WCN3990:
                case QCA_WCN3991:
                case QCA_WCN3998:
-                       if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID) {
-                               snprintf(config.fwname, sizeof(config.fwname),
-                                        "qca/crnv%02xu.bin", rom_ver);
-                       } else {
-                               snprintf(config.fwname, sizeof(config.fwname),
-                                        "qca/crnv%02x.bin", rom_ver);
-                       }
+                       if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID)
+                               variant = "u";
+
+                       snprintf(config.fwname, sizeof(config.fwname),
+                                "qca/crnv%02x%s.bin", rom_ver, variant);
                        break;
                case QCA_WCN3988:
                        snprintf(config.fwname, sizeof(config.fwname),