[PATCH] mediatek/clk-mt8173-apmixedsys: use devm_of_iomap to avoid resource leak in clk_mt8173_apmixed_probe

Chen-Yu Tsai wenst at chromium.org
Thu May 11 17:39:56 PDT 2023


On Tue, May 9, 2023 at 11:12 AM Hao Ge <gehao at kylinos.cn> wrote:
>
> Use devm_platform_ioremap_resource to take the place of of_iomap for
> avoid that we don't called iounmap when return some error or remove
> device.
>
> Fixes: 4c02c9af3cb9 ("clk: mediatek: mt8173: Break down clock drivers and allow module build")
> Signed-off-by: Hao Ge <gehao at kylinos.cn>
> ---
>  drivers/clk/mediatek/clk-mt8173-apmixedsys.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> index 8c2aa8b0f39e..8a2a88c63d15 100644
> --- a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> +++ b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c
> @@ -146,8 +146,8 @@ static int clk_mt8173_apmixed_probe(struct platform_device *pdev)
>         struct clk_hw *hw;
>         int r;
>
> -       base = of_iomap(node, 0);
> -       if (!base)
> +       base = devm_of_iomap(&pdev->dev, node, 0, NULL);
> +       if (IS_ERR(base))

>From lib/devres.c:

 * Please Note: This is not a one-to-one replacement for of_iomap() because the
 * of_iomap() function does not track whether the region is already mapped.  If
 * two drivers try to map the same memory, the of_iomap() function will succeed
 * but the devm_of_iomap() function will return -EBUSY.

The register range for apmixedsys given in mt8173.dtsi overlaps with
the HDMI phy. I'm concerned that would cause issues.

ChenYu

>                 return PTR_ERR(base);
>
>         clk_data = mtk_alloc_clk_data(CLK_APMIXED_NR_CLK);
> --
> 2.25.1
>
>
> No virus found
>                 Checked by Hillstone Network AntiVirus



More information about the linux-arm-kernel mailing list