Message ID | 20160510112905.5bffcad8@canb.auug.org.au |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On 9 May 2016 at 20:29, Stephen Rothwell <sfr@canb.auug.org.au> wrote: > Hi all, > > After merging the net-next tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > net/qrtr/smd.c:106:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] > .callback = qcom_smd_qrtr_callback, > ^ > net/qrtr/smd.c:106:14: note: (near initialization for 'qcom_smd_qrtr_driver.callback') > > Caused by commit > > bdabad3e363d ("net: Add Qualcomm IPC router") > > interacting with commit > > b853cb9628bf ("soc: qcom: smd: Make callback pass channel reference") > > from the arm-soc tree. > > I added the following merge fix patch (and it turned out I needed the > new stubs). Thanks for fixing this up. I'll work with Bjorn to get this resolved. I'll have something up for tomorrow's next pull. Regards, Andy Gross
On Mon 09 May 18:29 PDT 2016, Stephen Rothwell wrote: > Hi all, > > After merging the net-next tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > net/qrtr/smd.c:106:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] > .callback = qcom_smd_qrtr_callback, > ^ > net/qrtr/smd.c:106:14: note: (near initialization for 'qcom_smd_qrtr_driver.callback') > > Caused by commit > > bdabad3e363d ("net: Add Qualcomm IPC router") > > interacting with commit > > b853cb9628bf ("soc: qcom: smd: Make callback pass channel reference") > > from the arm-soc tree. > > I added the following merge fix patch (and it turned out I needed the > new stubs). > Sorry for not spotting this issue earlier, I missed Andy's second pull request towards arm-soc and thought the SMD changes missed this cycle. Your patch looks good, but I'm not sure how we should approach the merge window; Andy can't pick the patch because he doesn't have the qrtr code and David doesn't have the SMD patches coming through Andy. FWIW, Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> I assume we could have the QRTR go through Andy and arm-soc, with David's approval and this fix squashed in. But we're running rather late in this cycle, perhaps we should just back the QRTR patches out and I can respin and resend them after the merge window (for v4.8 instead)? Suggestions are welcome. Regards, Bjorn
On Tuesday 10 May 2016 11:39:34 Bjorn Andersson wrote: > On Mon 09 May 18:29 PDT 2016, Stephen Rothwell wrote: > > > Hi all, > > > > After merging the net-next tree, today's linux-next build (x86_64 > > allmodconfig) failed like this: > > > > net/qrtr/smd.c:106:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] > > .callback = qcom_smd_qrtr_callback, > > ^ > > net/qrtr/smd.c:106:14: note: (near initialization for 'qcom_smd_qrtr_driver.callback') > > > > Caused by commit > > > > bdabad3e363d ("net: Add Qualcomm IPC router") > > > > interacting with commit > > > > b853cb9628bf ("soc: qcom: smd: Make callback pass channel reference") > > > > from the arm-soc tree. > > > > I added the following merge fix patch (and it turned out I needed the > > new stubs). > > > > Sorry for not spotting this issue earlier, I missed Andy's second pull > request towards arm-soc and thought the SMD changes missed this cycle. > > > Your patch looks good, but I'm not sure how we should approach the merge > window; Andy can't pick the patch because he doesn't have the qrtr code > and David doesn't have the SMD patches coming through Andy. > > FWIW, Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > > I assume we could have the QRTR go through Andy and arm-soc, with > David's approval and this fix squashed in. But we're running rather late > in this cycle, perhaps we should just back the QRTR patches out and I > can respin and resend them after the merge window (for v4.8 instead)? I'd suggest you do a merge of next-next with the qcom/soc-2 branch that we have in arm-soc and resolve the conflict in the merge, then send a pull request with the merge to davem. Alternatively, in case Linus merges net-next before we get that fix in, I could send Stephen's fix to Linus along with the pull requests. Arnd
diff --git a/include/linux/soc/qcom/smd.h b/include/linux/soc/qcom/smd.h index 086e36d76be9..fbebbfc82ed3 100644 --- a/include/linux/soc/qcom/smd.h +++ b/include/linux/soc/qcom/smd.h @@ -70,6 +70,15 @@ static inline void qcom_smd_driver_unregister(struct qcom_smd_driver *drv) WARN_ON(1); } +static inline void *qcom_smd_get_drvdata(struct qcom_smd_channel *channel) +{ + return NULL; +} + +static inline void qcom_smd_set_drvdata(struct qcom_smd_channel *channel, void *data) +{ +} + static inline int qcom_smd_send(struct qcom_smd_channel *channel, const void *data, int len) { diff --git a/net/qrtr/smd.c b/net/qrtr/smd.c index 84ebce73aa23..0d11132b3370 100644 --- a/net/qrtr/smd.c +++ b/net/qrtr/smd.c @@ -21,13 +21,14 @@ 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");