diff options
author | Bjorn Andersson <bjorn.andersson@linaro.org> | 2016-03-29 06:35:22 +0200 |
---|---|---|
committer | Andy Gross <andy.gross@linaro.org> | 2016-04-20 04:55:12 +0200 |
commit | b853cb9628bfbcc4017da46d5f5b46e3eba9d8c6 (patch) | |
tree | 1a5af00411dc2a4d4f731bf18a00a6e859f62aa5 /drivers/soc/qcom/wcnss_ctrl.c | |
parent | soc: qcom: smem: Use write-combine remap for SMEM (diff) | |
download | linux-b853cb9628bfbcc4017da46d5f5b46e3eba9d8c6.tar.xz linux-b853cb9628bfbcc4017da46d5f5b46e3eba9d8c6.zip |
soc: qcom: smd: Make callback pass channel reference
By passing the smd channel reference to the callback, rather than the
smd device, we can open additional smd channels from sub-devices of smd
devices.
Also updates the two smd clients today found in mainline.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
Diffstat (limited to 'drivers/soc/qcom/wcnss_ctrl.c')
-rw-r--r-- | drivers/soc/qcom/wcnss_ctrl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/soc/qcom/wcnss_ctrl.c b/drivers/soc/qcom/wcnss_ctrl.c index 7a986f881d5c..c544f3d2c6ee 100644 --- a/drivers/soc/qcom/wcnss_ctrl.c +++ b/drivers/soc/qcom/wcnss_ctrl.c @@ -100,17 +100,17 @@ struct wcnss_download_nv_resp { /** * wcnss_ctrl_smd_callback() - handler from SMD responses - * @qsdev: smd device handle + * @channel: smd channel handle * @data: pointer to the incoming data packet * @count: size of the incoming data packet * * Handles any incoming packets from the remote WCNSS_CTRL service. */ -static int wcnss_ctrl_smd_callback(struct qcom_smd_device *qsdev, +static int wcnss_ctrl_smd_callback(struct qcom_smd_channel *channel, const void *data, size_t count) { - struct wcnss_ctrl *wcnss = dev_get_drvdata(&qsdev->dev); + struct wcnss_ctrl *wcnss = qcom_smd_get_drvdata(channel); const struct wcnss_download_nv_resp *nvresp; const struct wcnss_version_resp *version; const struct wcnss_msg_hdr *hdr = data; @@ -246,7 +246,7 @@ static int wcnss_ctrl_probe(struct qcom_smd_device *sdev) init_completion(&wcnss->ack); INIT_WORK(&wcnss->download_nv_work, wcnss_download_nv); - dev_set_drvdata(&sdev->dev, wcnss); + qcom_smd_set_drvdata(sdev->channel, wcnss); return wcnss_request_version(wcnss); } |