ath6kl: refactor firmware ext data addr and reserved ram handling size
authorKalle Valo <kvalo@qca.qualcomm.com>
Wed, 7 Sep 2011 07:55:17 +0000 (10:55 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 16 Sep 2011 15:48:34 +0000 (18:48 +0300)
Less if clauses this way and again easier to override the values.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/core.h
drivers/net/wireless/ath/ath6kl/init.c

index 77783f8..3365dc8 100644 (file)
@@ -466,6 +466,8 @@ struct ath6kl {
                u32 dataset_patch_addr;
                u32 app_load_addr;
                u32 app_start_override_addr;
+               u32 board_ext_data_addr;
+               u32 reserved_ram_size;
        } hw;
 
        u16 conf_flags;
index f94c049..bf0385e 100644 (file)
@@ -527,33 +527,21 @@ int ath6kl_configure_target(struct ath6kl *ar)
         * but possible in theory.
         */
 
-       if (ar->target_type == TARGET_TYPE_AR6003 ||
-           ar->target_type == TARGET_TYPE_AR6004) {
-               if (ar->version.target_ver == AR6003_REV2_VERSION) {
-                       param = AR6003_REV2_BOARD_EXT_DATA_ADDRESS;
-                       ram_reserved_size =  AR6003_REV2_RAM_RESERVE_SIZE;
-               } else if (ar->version.target_ver == AR6004_REV1_VERSION) {
-                       param = AR6004_REV1_BOARD_EXT_DATA_ADDRESS;
-                       ram_reserved_size =  AR6004_REV1_RAM_RESERVE_SIZE;
-               } else {
-                       param = AR6003_REV3_BOARD_EXT_DATA_ADDRESS;
-                       ram_reserved_size =  AR6003_REV3_RAM_RESERVE_SIZE;
-               }
+       param = ar->hw.board_ext_data_addr;
+       ram_reserved_size = ar->hw.reserved_ram_size;
 
-               if (ath6kl_bmi_write(ar,
-                                    ath6kl_get_hi_item_addr(ar,
-                                    HI_ITEM(hi_board_ext_data)),
-                                    (u8 *)&param, 4) != 0) {
-                       ath6kl_err("bmi_write_memory for hi_board_ext_data failed\n");
-                       return -EIO;
-               }
-               if (ath6kl_bmi_write(ar,
-                                    ath6kl_get_hi_item_addr(ar,
-                                    HI_ITEM(hi_end_ram_reserve_sz)),
-                                    (u8 *)&ram_reserved_size, 4) != 0) {
-                       ath6kl_err("bmi_write_memory for hi_end_ram_reserve_sz failed\n");
-                       return -EIO;
-               }
+       if (ath6kl_bmi_write(ar, ath6kl_get_hi_item_addr(ar,
+                                       HI_ITEM(hi_board_ext_data)),
+                            (u8 *)&param, 4) != 0) {
+               ath6kl_err("bmi_write_memory for hi_board_ext_data failed\n");
+               return -EIO;
+       }
+
+       if (ath6kl_bmi_write(ar, ath6kl_get_hi_item_addr(ar,
+                                       HI_ITEM(hi_end_ram_reserve_sz)),
+                            (u8 *)&ram_reserved_size, 4) != 0) {
+               ath6kl_err("bmi_write_memory for hi_end_ram_reserve_sz failed\n");
+               return -EIO;
        }
 
        /* set the block size for the target */
@@ -1356,16 +1344,22 @@ static int ath6kl_init_hw_params(struct ath6kl *ar)
                ar->hw.dataset_patch_addr = AR6003_REV2_DATASET_PATCH_ADDRESS;
                ar->hw.app_load_addr = AR6003_REV2_APP_LOAD_ADDRESS;
                ar->hw.app_start_override_addr = AR6003_REV2_APP_START_OVERRIDE;
+               ar->hw.board_ext_data_addr = AR6003_REV2_BOARD_EXT_DATA_ADDRESS;
+               ar->hw.reserved_ram_size = AR6003_REV2_RAM_RESERVE_SIZE;
                break;
        case AR6003_REV3_VERSION:
                ar->hw.dataset_patch_addr = AR6003_REV3_DATASET_PATCH_ADDRESS;
                ar->hw.app_load_addr = 0x1234;
                ar->hw.app_start_override_addr = AR6003_REV3_APP_START_OVERRIDE;
+               ar->hw.board_ext_data_addr = AR6003_REV3_BOARD_EXT_DATA_ADDRESS;
+               ar->hw.reserved_ram_size = AR6003_REV3_RAM_RESERVE_SIZE;
                break;
        case AR6004_REV1_VERSION:
                ar->hw.dataset_patch_addr = AR6003_REV2_DATASET_PATCH_ADDRESS;
                ar->hw.app_load_addr = AR6003_REV3_APP_LOAD_ADDRESS;
                ar->hw.app_start_override_addr = AR6003_REV3_APP_START_OVERRIDE;
+               ar->hw.board_ext_data_addr = AR6004_REV1_BOARD_EXT_DATA_ADDRESS;
+               ar->hw.reserved_ram_size = AR6004_REV1_RAM_RESERVE_SIZE;
                break;
        default:
                ath6kl_err("Unsupported hardware version: 0x%x\n",