提交 80fb2686 编写于 作者: K Kalle Valo

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: NKalle Valo <kvalo@qca.qualcomm.com>
上级 24fc32b3
...@@ -231,6 +231,13 @@ struct ath6kl_bmi_target_info { ...@@ -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) ...@@ -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, &param) != 0) {
ath6kl_get_hi_item_addr(ar,
HI_ITEM(hi_option_flag)),
(u8 *)&param, 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) ...@@ -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) ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册