mbox: qcom: add APCS child device for QCS404
authorJorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Thu, 29 Aug 2019 08:27:58 +0000 (10:27 +0200)
committerJassi Brar <jaswinder.singh@linaro.org>
Tue, 17 Sep 2019 05:46:00 +0000 (00:46 -0500)
There is clock controller functionality in the APCS hardware block of
qcs404 devices similar to msm8916.

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>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
drivers/mailbox/qcom-apcs-ipc-mailbox.c

index 705e17a..d3676fd 100644 (file)
@@ -47,7 +47,6 @@ static const struct mbox_chan_ops qcom_apcs_ipc_ops = {
 
 static int qcom_apcs_ipc_probe(struct platform_device *pdev)
 {
-       struct device_node *np = pdev->dev.of_node;
        struct qcom_apcs_ipc *apcs;
        struct regmap *regmap;
        struct resource *res;
@@ -55,6 +54,11 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev)
        void __iomem *base;
        unsigned long i;
        int ret;
+       const struct of_device_id apcs_clk_match_table[] = {
+               { .compatible = "qcom,msm8916-apcs-kpss-global", },
+               { .compatible = "qcom,qcs404-apcs-apps-global", },
+               {}
+       };
 
        apcs = devm_kzalloc(&pdev->dev, sizeof(*apcs), GFP_KERNEL);
        if (!apcs)
@@ -89,7 +93,7 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev)
                return ret;
        }
 
-       if (of_device_is_compatible(np, "qcom,msm8916-apcs-kpss-global")) {
+       if (of_match_device(apcs_clk_match_table, &pdev->dev)) {
                apcs->clk = platform_device_register_data(&pdev->dev,
                                                          "qcom-apcs-msm8916-clk",
                                                          -1, NULL, 0);