Re: [PATCH 3/5] pinctrl: mvebu: Use devm_clk_get_enabled() helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 29, 2024 at 02:48:59PM +0800, Wang Jianzheng wrote:
> The devm_clk_get_enabled() helpers:
>     - call devm_clk_get()
>     - call clk_prepare_enable() and register what is needed in order to
>      call clk_disable_unprepare() when needed, as a managed resource.
> 
> This simplifies the code and avoids the calls to clk_disable_unprepare().
> 
> Signed-off-by: Wang Jianzheng <wangjianzheng@xxxxxxxx>
> ---
>  drivers/pinctrl/mvebu/pinctrl-dove.c | 45 +++++++++-------------------
>  1 file changed, 14 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/pinctrl/mvebu/pinctrl-dove.c b/drivers/pinctrl/mvebu/pinctrl-dove.c
> index dce601d99372..1c2a292ebbd9 100644
> --- a/drivers/pinctrl/mvebu/pinctrl-dove.c
> +++ b/drivers/pinctrl/mvebu/pinctrl-dove.c
> @@ -767,7 +767,7 @@ static int dove_pinctrl_probe(struct platform_device *pdev)
>  	struct resource fb_res;
>  	struct mvebu_mpp_ctrl_data *mpp_data;
>  	void __iomem *base;
> -	int i, ret;
> +	int i;
>  
>  	pdev->dev.platform_data = (void *)device_get_match_data(&pdev->dev);
>  
> @@ -775,25 +775,20 @@ static int dove_pinctrl_probe(struct platform_device *pdev)
>  	 * General MPP Configuration Register is part of pdma registers.
>  	 * grab clk to make sure it is ticking.
>  	 */
> -	clk = devm_clk_get(&pdev->dev, NULL);
> +	clk = devm_clk_get_enabled(&pdev->dev, NULL);
>  	if (IS_ERR(clk)) {
>  		dev_err(&pdev->dev, "Unable to get pdma clock");
>  		return PTR_ERR(clk);
>  	}
> -	clk_prepare_enable(clk);
>  
>  	base = devm_platform_get_and_ioremap_resource(pdev, 0, &mpp_res);
> -	if (IS_ERR(base)) {
> -		ret = PTR_ERR(base);
> -		goto err_probe;
> -	}
> +	if (IS_ERR(base))
> +		return PTR_ERR(base);

It appears that in patch 3 you add all these goto err_probe, and now
you delete them?

Please reverse the order of these two patches!

    Andrew

---
pw-bot: cr




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux