Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wilc1000: use API version number info along with firmware filename

Added version number info along with firmware name so driver can pick
the correct revision of FW file. Moved FW filename macro as part of
driver code & added MODULE_FIRMWARE to specify FW needed by module.

Signed-off-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200710051826.3267-6-ajay.kathat@microchip.com

authored by

Ajay Singh and committed by
Kalle Valo
b52b331a 0b3dd675

+14 -5
-2
drivers/net/wireless/microchip/wilc1000/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 obj-$(CONFIG_WILC1000) += wilc1000.o 3 3 4 - ccflags-y += -DFIRMWARE_WILC1000=\"atmel/wilc1000_wifi_firmware.bin\" 5 - 6 4 wilc1000-objs := cfg80211.o netdev.o mon.o \ 7 5 hif.o wlan_cfg.o wlan.o 8 6
+14 -3
drivers/net/wireless/microchip/wilc1000/netdev.c
··· 15 15 16 16 #define WILC_MULTICAST_TABLE_SIZE 8 17 17 18 + /* latest API version supported */ 19 + #define WILC1000_API_VER 1 20 + 21 + #define WILC1000_FW_PREFIX "atmel/wilc1000_wifi_firmware-" 22 + #define __WILC1000_FW(api) WILC1000_FW_PREFIX #api ".bin" 23 + #define WILC1000_FW(api) __WILC1000_FW(api) 24 + 18 25 static irqreturn_t isr_uh_routine(int irq, void *user_data) 19 26 { 20 27 struct net_device *dev = user_data; ··· 184 177 struct wilc *wilc = vif->wilc; 185 178 int chip_id; 186 179 const struct firmware *wilc_fw; 180 + int ret; 187 181 188 182 chip_id = wilc_get_chipid(wilc, false); 189 183 190 184 netdev_info(dev, "ChipID [%x] loading firmware [%s]\n", chip_id, 191 - FIRMWARE_WILC1000); 185 + WILC1000_FW(WILC1000_API_VER)); 192 186 193 - if (request_firmware(&wilc_fw, FIRMWARE_WILC1000, wilc->dev) != 0) { 187 + ret = request_firmware(&wilc_fw, WILC1000_FW(WILC1000_API_VER), 188 + wilc->dev); 189 + if (ret != 0) { 194 190 netdev_err(dev, "%s - firmware not available\n", 195 - FIRMWARE_WILC1000); 191 + WILC1000_FW(WILC1000_API_VER)); 196 192 return -EINVAL; 197 193 } 198 194 wilc->firmware = wilc_fw; ··· 935 925 } 936 926 937 927 MODULE_LICENSE("GPL"); 928 + MODULE_FIRMWARE(WILC1000_FW(WILC1000_API_VER));