Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a7f5db1 authored by Amitkumar Karwar's avatar Amitkumar Karwar Committed by John W. Linville
Browse files

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: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 0541ac4c
Loading
Loading
Loading
Loading
+2 −16
Original line number Diff line number Diff line
@@ -35,8 +35,6 @@ static struct mwifiex_bss_attr mwifiex_bss_sta[] = {

static int drv_mode = DRV_MODE_STA;

static char fw_name[32] = DEFAULT_FW_NAME;

/* Supported drv_mode table */
static struct mwifiex_drv_mode mwifiex_drv_mode_tbl[] = {
	{
@@ -384,20 +382,8 @@ static int mwifiex_init_hw_fw(struct mwifiex_adapter *adapter)

	memset(&fw, 0, sizeof(struct mwifiex_fw_image));

	switch (adapter->revision_id) {
	case SD8787_W0:
	case SD8787_W1:
		strcpy(fw_name, SD8787_W1_FW_NAME);
		break;
	case SD8787_A0:
	case SD8787_A1:
		strcpy(fw_name, SD8787_AX_FW_NAME);
		break;
	default:
		break;
	}

	err = request_firmware(&adapter->firmware, fw_name, adapter->dev);
	err = request_firmware(&adapter->firmware, adapter->fw_name,
			       adapter->dev);
	if (err < 0) {
		dev_err(adapter->dev, "request_firmware() returned"
				" error code %#x\n", err);
+1 −10
Original line number Diff line number Diff line
@@ -48,15 +48,6 @@ enum {

#define DRV_MODE_STA       0x1

#define SD8787_W0   0x30
#define SD8787_W1   0x31
#define SD8787_A0   0x40
#define SD8787_A1   0x41

#define DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin"
#define SD8787_W1_FW_NAME "mrvl/sd8787_uapsta_w1.bin"
#define SD8787_AX_FW_NAME "mrvl/sd8787_uapsta.bin"

struct mwifiex_drv_mode {
	u16 drv_mode;
	u16 intf_num;
@@ -576,10 +567,10 @@ struct mwifiex_adapter {
	u8 priv_num;
	struct mwifiex_drv_mode *drv_mode;
	const struct firmware *firmware;
	char fw_name[32];
	struct device *dev;
	bool surprise_removed;
	u32 fw_release_number;
	u32 revision_id;
	u16 init_wait_q_woken;
	wait_queue_head_t init_wait_q;
	void *card;
+2 −6
Original line number Diff line number Diff line
@@ -1531,6 +1531,7 @@ static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
	sdio_set_drvdata(func, card);

	adapter->dev = &func->dev;
	strcpy(adapter->fw_name, SD8787_DEFAULT_FW_NAME);

	return 0;

@@ -1552,7 +1553,6 @@ static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
 *        the first interrupt got from bootloader
 *      - Disable host interrupt mask register
 *      - Get SDIO port
 *      - Get revision ID
 *      - Initialize SDIO variables in card
 *      - Allocate MP registers
 *      - Allocate MPA Tx and Rx buffers
@@ -1576,10 +1576,6 @@ static int mwifiex_init_sdio(struct mwifiex_adapter *adapter)
	/* Get SDIO ioport */
	mwifiex_init_sdio_ioport(adapter);

	/* Get revision ID */
#define REV_ID_REG	0x5c
	mwifiex_read_reg(adapter, REV_ID_REG, &adapter->revision_id);

	/* Initialize SDIO variables in card */
	card->mp_rd_bitmap = 0;
	card->mp_wr_bitmap = 0;
@@ -1751,4 +1747,4 @@ MODULE_AUTHOR("Marvell International Ltd.");
MODULE_DESCRIPTION("Marvell WiFi-Ex SDIO Driver version " SDIO_VERSION);
MODULE_VERSION(SDIO_VERSION);
MODULE_LICENSE("GPL v2");
MODULE_FIRMWARE("sd8787.bin");
MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin");
+2 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@

#include "main.h"

#define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin"

#define BLOCK_MODE	1
#define BYTE_MODE	0