wlcore: wl18xx: Use chip specific configuration firmware
authorTony Lindgren <tony@atomide.com>
Sat, 17 Sep 2016 16:06:33 +0000 (09:06 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 26 Sep 2016 15:13:45 +0000 (18:13 +0300)
Use the wl18xx specific config firmware we now have available.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ti/wl18xx/main.c

index 00a04dfc03d1a569dabb0bba2f4276cef0a7d296..06d6943b257c28858167fd91dda3dd50cb0937c8 100644 (file)
@@ -1397,25 +1397,24 @@ out:
        return ret;
 }
 
-#define WL18XX_CONF_FILE_NAME "ti-connectivity/wl18xx-conf.bin"
-
 static int wl18xx_load_conf_file(struct device *dev, struct wlcore_conf *conf,
-                                struct wl18xx_priv_conf *priv_conf)
+                                struct wl18xx_priv_conf *priv_conf,
+                                const char *file)
 {
        struct wlcore_conf_file *conf_file;
        const struct firmware *fw;
        int ret;
 
-       ret = request_firmware(&fw, WL18XX_CONF_FILE_NAME, dev);
+       ret = request_firmware(&fw, file, dev);
        if (ret < 0) {
                wl1271_error("could not get configuration binary %s: %d",
-                            WL18XX_CONF_FILE_NAME, ret);
+                            file, ret);
                return ret;
        }
 
        if (fw->size != WL18XX_CONF_SIZE) {
-               wl1271_error("configuration binary file size is wrong, expected %zu got %zu",
-                            WL18XX_CONF_SIZE, fw->size);
+               wl1271_error("%s configuration binary size is wrong, expected %zu got %zu",
+                            file, WL18XX_CONF_SIZE, fw->size);
                ret = -EINVAL;
                goto out_release;
        }
@@ -1448,9 +1447,12 @@ out_release:
 
 static int wl18xx_conf_init(struct wl1271 *wl, struct device *dev)
 {
+       struct platform_device *pdev = wl->pdev;
+       struct wlcore_platdev_data *pdata = dev_get_platdata(&pdev->dev);
        struct wl18xx_priv *priv = wl->priv;
 
-       if (wl18xx_load_conf_file(dev, &wl->conf, &priv->conf) < 0) {
+       if (wl18xx_load_conf_file(dev, &wl->conf, &priv->conf,
+                                 pdata->family->cfg_name) < 0) {
                wl1271_warning("falling back to default config");
 
                /* apply driver default configuration */
@@ -2141,4 +2143,3 @@ MODULE_PARM_DESC(num_rx_desc_param,
 MODULE_LICENSE("GPL v2");
 MODULE_AUTHOR("Luciano Coelho <coelho@ti.com>");
 MODULE_FIRMWARE(WL18XX_FW_NAME);
-MODULE_FIRMWARE(WL18XX_CONF_FILE_NAME);