On 11/09/2016 05:47 PM, 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;

        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?

I saw quite a few places in kernel where similar type casts are used (e.g gpio drivers) and ended up using uint32_t. uintptr_t is nothing but typedef of an unsigned long. Probably it's a good idea to just use unsigned long instead.


+       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;
+               }
        }



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

Reply via email to