diff options
author | Amitkumar Karwar <akarwar@marvell.com> | 2011-05-23 21:00:17 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-06-01 15:12:31 -0400 |
commit | 4a7f5db19c0d8783f700cb606597c4c7b1364db5 (patch) | |
tree | 47e3ed3ece7255c0d21a5bb3a46da3aeb34f65bc /drivers/net/wireless/mwifiex | |
parent | 0541ac4cb47a31f44bf841a4dade539395c146ee (diff) |
mwifiex: remove support for old chipsets W0/W1
For SD8787 A0/A1 chipsets we use the default firmware image
file 'mrvl/sd8787_uapsta.bin'. So the chip rev id variable
is removed.
The global variable fw_name is moved to adapter structure
so that we can support a different interface, such as PCIe,
in future.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex')
-rw-r--r-- | drivers/net/wireless/mwifiex/main.c | 18 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/main.h | 11 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/sdio.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/sdio.h | 2 |
4 files changed, 7 insertions, 32 deletions
diff --git a/drivers/net/wireless/mwifiex/main.c b/drivers/net/wireless/mwifiex/main.c index f0582259c93..4f43443036f 100644 --- a/drivers/net/wireless/mwifiex/main.c +++ b/drivers/net/wireless/mwifiex/main.c | |||
@@ -35,8 +35,6 @@ static struct mwifiex_bss_attr mwifiex_bss_sta[] = { | |||
35 | 35 | ||
36 | static int drv_mode = DRV_MODE_STA; | 36 | static int drv_mode = DRV_MODE_STA; |
37 | 37 | ||
38 | static char fw_name[32] = DEFAULT_FW_NAME; | ||
39 | |||
40 | /* Supported drv_mode table */ | 38 | /* Supported drv_mode table */ |
41 | static struct mwifiex_drv_mode mwifiex_drv_mode_tbl[] = { | 39 | static struct mwifiex_drv_mode mwifiex_drv_mode_tbl[] = { |
42 | { | 40 | { |
@@ -384,20 +382,8 @@ static int mwifiex_init_hw_fw(struct mwifiex_adapter *adapter) | |||
384 | 382 | ||
385 | memset(&fw, 0, sizeof(struct mwifiex_fw_image)); | 383 | memset(&fw, 0, sizeof(struct mwifiex_fw_image)); |
386 | 384 | ||
387 | switch (adapter->revision_id) { | 385 | err = request_firmware(&adapter->firmware, adapter->fw_name, |
388 | case SD8787_W0: | 386 | adapter->dev); |
389 | case SD8787_W1: | ||
390 | strcpy(fw_name, SD8787_W1_FW_NAME); | ||
391 | break; | ||
392 | case SD8787_A0: | ||
393 | case SD8787_A1: | ||
394 | strcpy(fw_name, SD8787_AX_FW_NAME); | ||
395 | break; | ||
396 | default: | ||
397 | break; | ||
398 | } | ||
399 | |||
400 | err = request_firmware(&adapter->firmware, fw_name, adapter->dev); | ||
401 | if (err < 0) { | 387 | if (err < 0) { |
402 | dev_err(adapter->dev, "request_firmware() returned" | 388 | dev_err(adapter->dev, "request_firmware() returned" |
403 | " error code %#x\n", err); | 389 | " error code %#x\n", err); |
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h index 8316b3cd92c..89f98701b70 100644 --- a/drivers/net/wireless/mwifiex/main.h +++ b/drivers/net/wireless/mwifiex/main.h | |||
@@ -48,15 +48,6 @@ enum { | |||
48 | 48 | ||
49 | #define DRV_MODE_STA 0x1 | 49 | #define DRV_MODE_STA 0x1 |
50 | 50 | ||
51 | #define SD8787_W0 0x30 | ||
52 | #define SD8787_W1 0x31 | ||
53 | #define SD8787_A0 0x40 | ||
54 | #define SD8787_A1 0x41 | ||
55 | |||
56 | #define DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin" | ||
57 | #define SD8787_W1_FW_NAME "mrvl/sd8787_uapsta_w1.bin" | ||
58 | #define SD8787_AX_FW_NAME "mrvl/sd8787_uapsta.bin" | ||
59 | |||
60 | struct mwifiex_drv_mode { | 51 | struct mwifiex_drv_mode { |
61 | u16 drv_mode; | 52 | u16 drv_mode; |
62 | u16 intf_num; | 53 | u16 intf_num; |
@@ -576,10 +567,10 @@ struct mwifiex_adapter { | |||
576 | u8 priv_num; | 567 | u8 priv_num; |
577 | struct mwifiex_drv_mode *drv_mode; | 568 | struct mwifiex_drv_mode *drv_mode; |
578 | const struct firmware *firmware; | 569 | const struct firmware *firmware; |
570 | char fw_name[32]; | ||
579 | struct device *dev; | 571 | struct device *dev; |
580 | bool surprise_removed; | 572 | bool surprise_removed; |
581 | u32 fw_release_number; | 573 | u32 fw_release_number; |
582 | u32 revision_id; | ||
583 | u16 init_wait_q_woken; | 574 | u16 init_wait_q_woken; |
584 | wait_queue_head_t init_wait_q; | 575 | wait_queue_head_t init_wait_q; |
585 | void *card; | 576 | void *card; |
diff --git a/drivers/net/wireless/mwifiex/sdio.c b/drivers/net/wireless/mwifiex/sdio.c index d425dbd91d1..4327b6d099c 100644 --- a/drivers/net/wireless/mwifiex/sdio.c +++ b/drivers/net/wireless/mwifiex/sdio.c | |||
@@ -1531,6 +1531,7 @@ static int mwifiex_register_dev(struct mwifiex_adapter *adapter) | |||
1531 | sdio_set_drvdata(func, card); | 1531 | sdio_set_drvdata(func, card); |
1532 | 1532 | ||
1533 | adapter->dev = &func->dev; | 1533 | adapter->dev = &func->dev; |
1534 | strcpy(adapter->fw_name, SD8787_DEFAULT_FW_NAME); | ||
1534 | 1535 | ||
1535 | return 0; | 1536 | return 0; |
1536 | 1537 | ||
@@ -1552,7 +1553,6 @@ disable_func: | |||
1552 | * the first interrupt got from bootloader | 1553 | * the first interrupt got from bootloader |
1553 | * - Disable host interrupt mask register | 1554 | * - Disable host interrupt mask register |
1554 | * - Get SDIO port | 1555 | * - Get SDIO port |
1555 | * - Get revision ID | ||
1556 | * - Initialize SDIO variables in card | 1556 | * - Initialize SDIO variables in card |
1557 | * - Allocate MP registers | 1557 | * - Allocate MP registers |
1558 | * - Allocate MPA Tx and Rx buffers | 1558 | * - Allocate MPA Tx and Rx buffers |
@@ -1576,10 +1576,6 @@ static int mwifiex_init_sdio(struct mwifiex_adapter *adapter) | |||
1576 | /* Get SDIO ioport */ | 1576 | /* Get SDIO ioport */ |
1577 | mwifiex_init_sdio_ioport(adapter); | 1577 | mwifiex_init_sdio_ioport(adapter); |
1578 | 1578 | ||
1579 | /* Get revision ID */ | ||
1580 | #define REV_ID_REG 0x5c | ||
1581 | mwifiex_read_reg(adapter, REV_ID_REG, &adapter->revision_id); | ||
1582 | |||
1583 | /* Initialize SDIO variables in card */ | 1579 | /* Initialize SDIO variables in card */ |
1584 | card->mp_rd_bitmap = 0; | 1580 | card->mp_rd_bitmap = 0; |
1585 | card->mp_wr_bitmap = 0; | 1581 | card->mp_wr_bitmap = 0; |
@@ -1751,4 +1747,4 @@ MODULE_AUTHOR("Marvell International Ltd."); | |||
1751 | MODULE_DESCRIPTION("Marvell WiFi-Ex SDIO Driver version " SDIO_VERSION); | 1747 | MODULE_DESCRIPTION("Marvell WiFi-Ex SDIO Driver version " SDIO_VERSION); |
1752 | MODULE_VERSION(SDIO_VERSION); | 1748 | MODULE_VERSION(SDIO_VERSION); |
1753 | MODULE_LICENSE("GPL v2"); | 1749 | MODULE_LICENSE("GPL v2"); |
1754 | MODULE_FIRMWARE("sd8787.bin"); | 1750 | MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin"); |
diff --git a/drivers/net/wireless/mwifiex/sdio.h b/drivers/net/wireless/mwifiex/sdio.h index 4e97e90aa39..c925376fcaa 100644 --- a/drivers/net/wireless/mwifiex/sdio.h +++ b/drivers/net/wireless/mwifiex/sdio.h | |||
@@ -28,6 +28,8 @@ | |||
28 | 28 | ||
29 | #include "main.h" | 29 | #include "main.h" |
30 | 30 | ||
31 | #define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin" | ||
32 | |||
31 | #define BLOCK_MODE 1 | 33 | #define BLOCK_MODE 1 |
32 | #define BYTE_MODE 0 | 34 | #define BYTE_MODE 0 |
33 | 35 | ||