Message ID | 1545039990-19984-3-git-send-email-jorge.ramirez-ortiz@linaro.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Support CPU frequency scaling on QCS404 | expand |
On Mon 17 Dec 01:46 PST 2018, Jorge Ramirez-Ortiz wrote: > There is clock controller functionality in the APCS hardware block of > qcs404 devices similar to msm8916. > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> > Co-developed-by: Niklas Cassel <niklas.cassel@linaro.org> > Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org> > Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> > --- > drivers/mailbox/qcom-apcs-ipc-mailbox.c | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) > > diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c > index aed23ac..dc8fdab1 100644 > --- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c > +++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c > @@ -97,16 +97,21 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev) > return ret; > } > > - if (of_device_is_compatible(np, "qcom,msm8916-apcs-kpss-global")) { > - apcs->clk = platform_device_register_data(&pdev->dev, > - "qcom-apcs-msm8916-clk", > - -1, NULL, 0); > - if (IS_ERR(apcs->clk)) > - dev_err(&pdev->dev, "failed to register APCS clk\n"); > - } > - > platform_set_drvdata(pdev, apcs); > > + if (of_device_is_compatible(np, "qcom,msm8916-apcs-kpss-global") || > + of_device_is_compatible(np, "qcom,qcs404-apcs-apps-global")) > + goto register_clk; > + > + return 0; > + > +register_clk: > + apcs->clk = platform_device_register_data(&pdev->dev, > + "qcom-apcs-msm8916-clk", > + -1, NULL, 0); > + if (IS_ERR(apcs->clk)) > + dev_err(&pdev->dev, "failed to register APCS clk\n"); > + > return 0; > } > > -- > 2.7.4 >
diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c index aed23ac..dc8fdab1 100644 --- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c +++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c @@ -97,16 +97,21 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev) return ret; } - if (of_device_is_compatible(np, "qcom,msm8916-apcs-kpss-global")) { - apcs->clk = platform_device_register_data(&pdev->dev, - "qcom-apcs-msm8916-clk", - -1, NULL, 0); - if (IS_ERR(apcs->clk)) - dev_err(&pdev->dev, "failed to register APCS clk\n"); - } - platform_set_drvdata(pdev, apcs); + if (of_device_is_compatible(np, "qcom,msm8916-apcs-kpss-global") || + of_device_is_compatible(np, "qcom,qcs404-apcs-apps-global")) + goto register_clk; + + return 0; + +register_clk: + apcs->clk = platform_device_register_data(&pdev->dev, + "qcom-apcs-msm8916-clk", + -1, NULL, 0); + if (IS_ERR(apcs->clk)) + dev_err(&pdev->dev, "failed to register APCS clk\n"); + return 0; }