Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756971AbcKKWHd (ORCPT ); Fri, 11 Nov 2016 17:07:33 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:33780 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756014AbcKKWHb (ORCPT ); Fri, 11 Nov 2016 17:07:31 -0500 DMARC-Filter: OpenDMARC Filter v1.3.1 smtp.codeaurora.org D6740614F8 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=pass smtp.mailfrom=spjoshi@codeaurora.org Subject: Re: [PATCH v2 2/3] firmware: qcom: scm: Remove core, iface and bus clocks dependency To: Bjorn Andersson , Stephen Boyd References: <1478218237-1737-1-git-send-email-spjoshi@codeaurora.org> <1478218237-1737-3-git-send-email-spjoshi@codeaurora.org> <20161110014718.GY16026@codeaurora.org> <20161110055507.GD11179@tuxbot> Cc: Andy Gross , David Brown , linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Jordan Crouse , Trilok Soni From: Sarangdhar Joshi Message-ID: Date: Fri, 11 Nov 2016 14:07:29 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20161110055507.GD11179@tuxbot> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1946 Lines: 66 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