Skip to content

Commit

Permalink
ath10k: pass cal data location as an argument to ath10k_download_cal_…
Browse files Browse the repository at this point in the history
…{file|dt}

Both ath10k_download_cal_file() and ath10k_download_cal_dt() uses
hard coded file pointer (ar->cal_file) and device tree entry
(qcom,ath10k-calibration-data) respectively to get calibration
data content.

There is a need to use those two functions in qca4019 calibration
download sequence with different file pointer and device tree entry name.
Modify those two functions to take cal data location as an argument.
So that it can serve the purpose for other file pointer and device
tree entry.

This is just preparation before adding actual qca4019 calibration
download sequence. No functional changes.

Signed-off-by: Raja Mani <rmani@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
  • Loading branch information
Raja Mani authored and Kalle Valo committed Mar 23, 2016
1 parent a47aaa6 commit f454add
Showing 1 changed file with 11 additions and 13 deletions.
24 changes: 11 additions & 13 deletions drivers/net/wireless/ath/ath10k/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -462,18 +462,18 @@ static int ath10k_download_board_data(struct ath10k *ar, const void *data,
return ret;
}

static int ath10k_download_cal_file(struct ath10k *ar)
static int ath10k_download_cal_file(struct ath10k *ar,
const struct firmware *file)
{
int ret;

if (!ar->cal_file)
if (!file)
return -ENOENT;

if (IS_ERR(ar->cal_file))
return PTR_ERR(ar->cal_file);
if (IS_ERR(file))
return PTR_ERR(file);

ret = ath10k_download_board_data(ar, ar->cal_file->data,
ar->cal_file->size);
ret = ath10k_download_board_data(ar, file->data, file->size);
if (ret) {
ath10k_err(ar, "failed to download cal_file data: %d\n", ret);
return ret;
Expand All @@ -484,7 +484,7 @@ static int ath10k_download_cal_file(struct ath10k *ar)
return 0;
}

static int ath10k_download_cal_dt(struct ath10k *ar)
static int ath10k_download_cal_dt(struct ath10k *ar, const char *dt_name)
{
struct device_node *node;
int data_len;
Expand All @@ -498,8 +498,7 @@ static int ath10k_download_cal_dt(struct ath10k *ar)
*/
return -ENOENT;

if (!of_get_property(node, "qcom,ath10k-calibration-data",
&data_len)) {
if (!of_get_property(node, dt_name, &data_len)) {
/* The calibration data node is optional */
return -ENOENT;
}
Expand All @@ -517,8 +516,7 @@ static int ath10k_download_cal_dt(struct ath10k *ar)
goto out;
}

ret = of_property_read_u8_array(node, "qcom,ath10k-calibration-data",
data, data_len);
ret = of_property_read_u8_array(node, dt_name, data, data_len);
if (ret) {
ath10k_warn(ar, "failed to read calibration data from DT: %d\n",
ret);
Expand Down Expand Up @@ -1258,7 +1256,7 @@ static int ath10k_download_cal_data(struct ath10k *ar)
{
int ret;

ret = ath10k_download_cal_file(ar);
ret = ath10k_download_cal_file(ar, ar->cal_file);
if (ret == 0) {
ar->cal_mode = ATH10K_CAL_MODE_FILE;
goto done;
Expand All @@ -1268,7 +1266,7 @@ static int ath10k_download_cal_data(struct ath10k *ar)
"boot did not find a calibration file, try DT next: %d\n",
ret);

ret = ath10k_download_cal_dt(ar);
ret = ath10k_download_cal_dt(ar, "qcom,ath10k-calibration-data");
if (ret == 0) {
ar->cal_mode = ATH10K_CAL_MODE_DT;
goto done;
Expand Down

0 comments on commit f454add

Please sign in to comment.