linux/drivers/clk/renesas
Haotian Zhang 8cacdb0f0b clk: renesas: r9a06g032: Fix memory leak in error path
[ Upstream commit f8def051bb ]

The current code uses of_iomap() to map registers but never calls
iounmap() on any error path after the mapping. This causes a memory
leak when probe fails after successful ioremap, for example when
of_clk_add_provider() or r9a06g032_add_clk_domain() fails.

Replace of_iomap() with devm_of_iomap() to automatically unmap the
region on probe failure. Update the error check accordingly to use
IS_ERR() and PTR_ERR() since devm_of_iomap() returns ERR_PTR on error.

Fixes: 4c3d88526e ("clk: renesas: Renesas R9A06G032 clock driver")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20251030061603.1954-1-vulab@iscas.ac.cn
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-12-18 14:02:57 +01:00
..
clk-div6.c clk: renesas: div6: Implement range checking 2021-05-11 09:58:13 +02:00
clk-div6.h We have two changes to the core framework this time around. The first being a 2017-11-17 20:04:24 -08:00
clk-emev2.c clk: renesas: emev2: Remove obsolete clkdev registration 2023-07-27 14:32:41 +02:00
clk-mstp.c clk: renesas: mstp: Add genpd OF provider at postcore_initcall() 2025-08-18 09:36:55 +02:00
clk-r8a73a4.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
clk-r8a7740.c clk: renesas: shmobile: Remove unused CLK_ENABLE_ON_INIT 2024-04-25 10:38:19 +02:00
clk-r8a7778.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
clk-r8a7779.c clk: renesas: r8a7779: Remove struct r8a7779_cpg 2022-06-13 11:53:18 +02:00
clk-rz.c clk: renesas: rza1: Remove struct rz_cpg 2022-06-13 11:53:18 +02:00
clk-sh73a0.c clk: renesas: shmobile: Remove unused CLK_ENABLE_ON_INIT 2024-04-25 10:38:19 +02:00
clk-vbattb.c clk: renesas: vbattb: Add VBATTB clock driver 2024-11-06 08:52:45 +01:00
Kconfig clk: renesas: Add CPG/MSSR support to RZ/N2H SoC 2025-06-19 20:19:19 +02:00
Makefile clk: renesas: Add CPG/MSSR support to RZ/N2H SoC 2025-06-19 20:19:19 +02:00
r7s9210-cpg-mssr.c clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
r8a774a1-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r8a774b1-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r8a774c0-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r8a774e1-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r8a779a0-cpg-mssr.c clk: renesas: r8a779a0: Add ISP core clocks 2025-02-03 11:07:05 +01:00
r8a779f0-cpg-mssr.c clk: renesas: rcar-gen4: Remove unused default PLL2/3/4/6 configs 2024-07-30 10:44:19 +02:00
r8a779g0-cpg-mssr.c clk: renesas: r8a779g0: Add ISP core clocks 2025-02-03 11:07:05 +01:00
r8a779h0-cpg-mssr.c clk: renesas: r8a779h0: Add VSPX clock 2025-02-03 11:07:06 +01:00
r8a7742-cpg-mssr.c clk: renesas: r8a7742: Add clk entry for VSPR 2020-09-04 09:42:01 +02:00
r8a7743-cpg-mssr.c clk: renesas: rcar-gen2: Rename vsp1-(sy|rt) clocks to vsp(s|r) 2020-09-04 09:42:01 +02:00
r8a7745-cpg-mssr.c clk: renesas: rcar-gen2: Rename vsp1-(sy|rt) clocks to vsp(s|r) 2020-09-04 09:42:01 +02:00
r8a7790-cpg-mssr.c clk: renesas: rcar-gen2: Rename vsp1-(sy|rt) clocks to vsp(s|r) 2020-09-04 09:42:01 +02:00
r8a7791-cpg-mssr.c clk: renesas: rcar-gen2: Rename vsp1-(sy|rt) clocks to vsp(s|r) 2020-09-04 09:42:01 +02:00
r8a7792-cpg-mssr.c clk: renesas: rcar-gen2: Rename vsp1-(sy|rt) clocks to vsp(s|r) 2020-09-04 09:42:01 +02:00
r8a7794-cpg-mssr.c clk: renesas: rcar-gen2: Rename vsp1-(sy|rt) clocks to vsp(s|r) 2020-09-04 09:42:01 +02:00
r8a7795-cpg-mssr.c clk: renesas: r8a7795: Constify r8a7795_*_clks 2023-09-26 09:38:00 +02:00
r8a7796-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r8a77470-cpg-mssr.c clk: renesas: rcar-gen2: Rename vsp1-(sy|rt) clocks to vsp(s|r) 2020-09-04 09:42:01 +02:00
r8a77965-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r8a77970-cpg-mssr.c clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
r8a77980-cpg-mssr.c clk: renesas: r8a77980: Add I2C5 clock 2023-03-30 16:44:04 +02:00
r8a77990-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r8a77995-cpg-mssr.c clk: renesas: rcar-gen3: Add ADG clocks 2023-08-15 11:34:43 +02:00
r9a06g032-clocks.c clk: renesas: r9a06g032: Fix memory leak in error path 2025-12-18 14:02:57 +01:00
r9a07g043-cpg.c clk: renesas: r9a07g04[34]: Use tabs instead of spaces 2025-08-20 09:16:32 +02:00
r9a07g044-cpg.c clk: renesas: r9a07g04[34]: Use tabs instead of spaces 2025-08-20 09:16:32 +02:00
r9a08g045-cpg.c clk: renesas: r9a08g045: Add MSTOP for GPIO 2025-08-20 09:16:31 +02:00
r9a09g011-cpg.c clk: renesas: rzg2l: Add support for MSTOP in clock enable/disable API 2025-06-10 10:24:17 +02:00
r9a09g047-cpg.c clk: renesas: r9a09g047: Add USB3.0 clocks/resets 2025-09-12 09:53:37 +02:00
r9a09g056-cpg.c clk: renesas: r9a09g05[67]: Reduce differences 2025-09-12 09:53:37 +02:00
r9a09g057-cpg.c clk: renesas: r9a09g05[67]: Reduce differences 2025-09-12 09:53:37 +02:00
r9a09g077-cpg.c clk: renesas: r9a09g077: Propagate rate changes to parent clocks 2025-12-18 14:02:57 +01:00
rcar-cpg-lib.c clk: renesas: Remove duplicate and trailing empty lines 2024-10-01 09:13:38 +02:00
rcar-cpg-lib.h clk: renesas: rcar-gen3: Switch to new SD clock handling 2021-11-19 11:32:39 +01:00
rcar-gen2-cpg.c clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
rcar-gen2-cpg.h clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
rcar-gen3-cpg.c clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
rcar-gen3-cpg.h clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
rcar-gen4-cpg.c clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
rcar-gen4-cpg.h clk: renesas: Pass sub struct of cpg_mssr_priv to cpg_clk_register 2025-06-10 10:20:45 +02:00
rcar-usb2-clock-sel.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
renesas-cpg-mssr.c clk: renesas: cpg-mssr: Read back reset registers to assure values latched 2025-12-18 14:02:28 +01:00
renesas-cpg-mssr.h clk: renesas: Add support for R9A09G077 SoC 2025-06-10 10:24:17 +02:00
rzg2l-cpg.c clk: renesas: rzg2l: Re-assert reset on deassert timeout 2025-09-04 11:29:31 +02:00
rzg2l-cpg.h clk: renesas: r9a07g044: Add MSTOP for RZ/G2L 2025-08-20 09:16:32 +02:00
rzv2h-cpg.c clk: renesas: rzv2h: Simplify polling condition in __rzv2h_cpg_assert() 2025-09-04 11:30:01 +02:00
rzv2h-cpg.h clk: renesas: r9a09g056: Add XSPI clock/reset 2025-07-02 20:53:35 +02:00