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[] = {
        {
 
        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);
 
 
 #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;
        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;
 
        sdio_set_drvdata(func, card);
 
        adapter->dev = &func->dev;
+       strcpy(adapter->fw_name, SD8787_DEFAULT_FW_NAME);
 
        return 0;
 
  *        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
        /* 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;
 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");
 
 
 #include "main.h"
 
+#define SD8787_DEFAULT_FW_NAME "mrvl/sd8787_uapsta.bin"
+
 #define BLOCK_MODE     1
 #define BYTE_MODE      0