summaryrefslogtreecommitdiffstats
path: root/drivers/staging/wilc1000/linux_wlan.c
diff options
context:
space:
mode:
authorGlen Lee2016-01-25 08:35:13 +0100
committerGreg Kroah-Hartman2016-02-04 00:25:40 +0100
commit14823bf2ea000c8762ec38ed7b67ee049a2b6fbf (patch)
tree30ac71acd7ea50f48b5a80e2b02c8677c4c4b6c2 /drivers/staging/wilc1000/linux_wlan.c
parentstaging: wilc1000: get address from wilc (diff)
downloadkernel-qcow2-linux-14823bf2ea000c8762ec38ed7b67ee049a2b6fbf.tar.gz
kernel-qcow2-linux-14823bf2ea000c8762ec38ed7b67ee049a2b6fbf.tar.xz
kernel-qcow2-linux-14823bf2ea000c8762ec38ed7b67ee049a2b6fbf.zip
staging: wilc1000: use unified firmware
Use a unified firmware for all mode of operations which are station, ap and p2p. Two firmware are introduced for 1002 and 1003 chipset. Signed-off-by: Glen Lee <glen.lee@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/wilc1000/linux_wlan.c')
-rw-r--r--drivers/staging/wilc1000/linux_wlan.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index 58837d7f1be2..006f75f7c675 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -416,21 +416,21 @@ int wilc_wlan_get_firmware(struct net_device *dev)
{
struct wilc_vif *vif;
struct wilc *wilc;
- int ret = 0;
+ int chip_id, ret = 0;
const struct firmware *wilc_firmware;
char *firmware;
vif = netdev_priv(dev);
wilc = vif->wilc;
- if (vif->iftype == AP_MODE) {
- firmware = AP_FIRMWARE;
- } else if (vif->iftype == STATION_MODE) {
- firmware = STA_FIRMWARE;
- } else {
- PRINT_D(INIT_DBG, "Get P2P_CONCURRENCY_FIRMWARE\n");
- firmware = P2P_CONCURRENCY_FIRMWARE;
- }
+ chip_id = wilc_get_chipid(wilc, 0);
+
+ if (chip_id < 0x1003a0)
+ firmware = FIRMWARE_1002;
+ else
+ firmware = FIRMWARE_1003;
+
+ netdev_info(dev, "loading firmware %s\n", firmware);
if (!vif) {
PRINT_ER("vif is NULL\n");