There is clock controller functionality in the APCS hardware block of
qcs404 devices similar to msm8916.

Co-developed-by: Niklas Cassel <niklas.cas...@linaro.org>
Signed-off-by: Niklas Cassel <niklas.cas...@linaro.org>
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-or...@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

Reply via email to