On 11/09/2016 09:55 PM, Bjorn Andersson wrote:
On Wed 09 Nov 17:47 PST 2016, Stephen Boyd wrote:

On 11/03, Sarangdhar Joshi wrote:
diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
index d79fecd..844e90d 100644
--- a/drivers/firmware/qcom_scm.c
+++ b/drivers/firmware/qcom_scm.c
@@ -380,32 +384,40 @@ EXPORT_SYMBOL(qcom_scm_is_available);
 static int qcom_scm_probe(struct platform_device *pdev)
 {
        struct qcom_scm *scm;
+       uint32_t clks;

If this was unsigned long flags;


I did look at this too and could only find a mixture of ways people have
done this. Isn't the correct type for this intptr_t?

That's true. There are lot of variations of how it's done. I had referred one of the gpio driver for this. I think it's safe to use unsigned long instead as Stephen suggested.

Btw I don't see intptr_t defined in include/linux/types.h.

Regards,
Sarang


Regards,
Bjorn

        int ret;

        scm = devm_kzalloc(&pdev->dev, sizeof(*scm), GFP_KERNEL);
        if (!scm)
                return -ENOMEM;

-       scm->core_clk = devm_clk_get(&pdev->dev, "core");
-       if (IS_ERR(scm->core_clk)) {
-               if (PTR_ERR(scm->core_clk) == -EPROBE_DEFER)
-                       return PTR_ERR(scm->core_clk);
+       clks = (uint32_t)((uintptr_t)of_device_get_match_data(&pdev->dev));

then this could just be a cast to unsigned long?

+       if (clks & SCM_HAS_CORE_CLK) {
+               scm->core_clk = devm_clk_get(&pdev->dev, "core");
+               if (IS_ERR(scm->core_clk)) {
+                       if (PTR_ERR(scm->core_clk) == -EPROBE_DEFER)
+                               return PTR_ERR(scm->core_clk);

-               scm->core_clk = NULL;
+                       scm->core_clk = NULL;
+               }
        }

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

Reply via email to