ath6kl: add ath6kl_bmi_read_hi32()
There are few 32 bit reads from the host interest area. Add ath6kl_bmi_read_hi32() to make it easier to do that. As code is cleaner this also fixes few checkpatch warnings. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
@@ -231,6 +231,13 @@ struct ath6kl_bmi_target_info {
|
|||||||
ath6kl_bmi_write(ar, addr, (u8 *) &v, sizeof(v)); \
|
ath6kl_bmi_write(ar, addr, (u8 *) &v, sizeof(v)); \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
#define ath6kl_bmi_read_hi32(ar, item, val) \
|
||||||
|
({ \
|
||||||
|
u32 addr, *check_type = val; \
|
||||||
|
(void) (check_type == val); \
|
||||||
|
addr = ath6kl_get_hi_item_addr(ar, HI_ITEM(item)); \
|
||||||
|
ath6kl_bmi_read(ar, addr, (u8 *) val, 4); \
|
||||||
|
})
|
||||||
|
|
||||||
int ath6kl_bmi_init(struct ath6kl *ar);
|
int ath6kl_bmi_init(struct ath6kl *ar);
|
||||||
void ath6kl_bmi_cleanup(struct ath6kl *ar);
|
void ath6kl_bmi_cleanup(struct ath6kl *ar);
|
||||||
|
@@ -501,10 +501,7 @@ int ath6kl_configure_target(struct ath6kl *ar)
|
|||||||
/* set the firmware mode to STA/IBSS/AP */
|
/* set the firmware mode to STA/IBSS/AP */
|
||||||
param = 0;
|
param = 0;
|
||||||
|
|
||||||
if (ath6kl_bmi_read(ar,
|
if (ath6kl_bmi_read_hi32(ar, hi_option_flag, ¶m) != 0) {
|
||||||
ath6kl_get_hi_item_addr(ar,
|
|
||||||
HI_ITEM(hi_option_flag)),
|
|
||||||
(u8 *)¶m, 4) != 0) {
|
|
||||||
ath6kl_err("bmi_read_memory for setting fwmode failed\n");
|
ath6kl_err("bmi_read_memory for setting fwmode failed\n");
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
@@ -1074,17 +1071,11 @@ static int ath6kl_upload_board_file(struct ath6kl *ar)
|
|||||||
ath6kl_bmi_write_hi32(ar, hi_board_data,
|
ath6kl_bmi_write_hi32(ar, hi_board_data,
|
||||||
ar->hw.board_addr);
|
ar->hw.board_addr);
|
||||||
} else {
|
} else {
|
||||||
ath6kl_bmi_read(ar,
|
ath6kl_bmi_read_hi32(ar, hi_board_data, &board_address);
|
||||||
ath6kl_get_hi_item_addr(ar,
|
|
||||||
HI_ITEM(hi_board_data)),
|
|
||||||
(u8 *) &board_address, 4);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* determine where in target ram to write extended board data */
|
/* determine where in target ram to write extended board data */
|
||||||
ath6kl_bmi_read(ar,
|
ath6kl_bmi_read_hi32(ar, hi_board_ext_data, &board_ext_address);
|
||||||
ath6kl_get_hi_item_addr(ar,
|
|
||||||
HI_ITEM(hi_board_ext_data)),
|
|
||||||
(u8 *) &board_ext_address, 4);
|
|
||||||
|
|
||||||
if (ar->target_type == TARGET_TYPE_AR6003 &&
|
if (ar->target_type == TARGET_TYPE_AR6003 &&
|
||||||
board_ext_address == 0) {
|
board_ext_address == 0) {
|
||||||
@@ -1177,10 +1168,7 @@ static int ath6kl_upload_otp(struct ath6kl *ar)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* read firmware start address */
|
/* read firmware start address */
|
||||||
ret = ath6kl_bmi_read(ar,
|
ret = ath6kl_bmi_read_hi32(ar, hi_app_start, &address);
|
||||||
ath6kl_get_hi_item_addr(ar,
|
|
||||||
HI_ITEM(hi_app_start)),
|
|
||||||
(u8 *) &address, sizeof(address));
|
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
ath6kl_err("Failed to read hi_app_start: %d\n", ret);
|
ath6kl_err("Failed to read hi_app_start: %d\n", ret);
|
||||||
|
Reference in New Issue
Block a user