]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
qrtr: smd: Return to new SMD api
authorBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 7 Jun 2016 04:52:46 +0000 (21:52 -0700)
committerNicolas Dechesne <nicolas.dechesne@linaro.org>
Tue, 21 Jun 2016 08:02:20 +0000 (11:02 +0300)
Fixes: d9552842afd7 ("net: Add Qualcomm IPC router")
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
net/qrtr/smd.c

index 84ebce73aa2323d7631cf1bfdd584ebd9e9a7b2c..0d11132b3370a4024be644dede74a77d188a4f64 100644 (file)
 struct qrtr_smd_dev {
        struct qrtr_endpoint ep;
        struct qcom_smd_channel *channel;
+       struct device *dev;
 };
 
 /* from smd to qrtr */
-static int qcom_smd_qrtr_callback(struct qcom_smd_device *sdev,
+static int qcom_smd_qrtr_callback(struct qcom_smd_channel *channel,
                                  const void *data, size_t len)
 {
-       struct qrtr_smd_dev *qdev = dev_get_drvdata(&sdev->dev);
+       struct qrtr_smd_dev *qdev = qcom_smd_get_drvdata(channel);
        int rc;
 
        if (!qdev)
@@ -35,7 +36,7 @@ static int qcom_smd_qrtr_callback(struct qcom_smd_device *sdev,
 
        rc = qrtr_endpoint_post(&qdev->ep, data, len);
        if (rc == -EINVAL) {
-               dev_err(&sdev->dev, "invalid ipcrouter packet\n");
+               dev_err(qdev->dev, "invalid ipcrouter packet\n");
                /* return 0 to let smd drop the packet */
                rc = 0;
        }
@@ -73,12 +74,14 @@ static int qcom_smd_qrtr_probe(struct qcom_smd_device *sdev)
                return -ENOMEM;
 
        qdev->channel = sdev->channel;
+       qdev->dev = &sdev->dev;
        qdev->ep.xmit = qcom_smd_qrtr_send;
 
        rc = qrtr_endpoint_register(&qdev->ep, QRTR_EP_NID_AUTO);
        if (rc)
                return rc;
 
+       qcom_smd_set_drvdata(sdev->channel, qdev);
        dev_set_drvdata(&sdev->dev, qdev);
 
        dev_dbg(&sdev->dev, "Qualcomm SMD QRTR driver probed\n");