linux-stable/drivers/clk
Stephen Boyd b187728541 clk: Don't hold prepare_lock when calling kref_put()
[ Upstream commit 6f63af7511 ]

We don't need to hold the prepare_lock when dropping a ref on a struct
clk_core. The release function is only freeing memory and any code with
a pointer reference has already unlinked anything pointing to the
clk_core. This reduces the holding area of the prepare_lock a bit.

Note that we also don't call free_clk() with the prepare_lock held.
There isn't any reason to do that.

Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20240325184204.745706-3-sboyd@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-05-17 11:43:53 +02:00
..
actions clk: actions: Terminate clk_div_table with sentinel element 2022-04-15 14:18:19 +02:00
analogbits
at91 clk: at91: generated: consider range when calculating best rate 2022-05-25 09:14:36 +02:00
axis
axs10x
bcm clk: bcm2835: Make peripheral PLLC critical 2022-10-26 13:22:59 +02:00
berlin clk: berlin: Add of_node_put() for of_get_parent() 2022-10-26 13:22:35 +02:00
davinci clk: davinci: Use the correct size when allocating memory 2020-09-23 12:40:38 +02:00
h8300
hisilicon clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister() 2024-03-26 18:22:21 -04:00
imgtec
imx clk: imx: Select MXC_CLK for CLK_IMX8QXP 2023-11-20 10:30:10 +01:00
ingenic clk: ingenic-tcu: Properly enable registers before accessing timers 2022-10-05 10:37:42 +02:00
keystone clk: keystone: pll: fix a couple NULL vs IS_ERR() checks 2023-11-20 10:30:10 +01:00
loongson1 clk: loongson1: Terminate clk_div_table with sentinel element 2022-04-15 14:18:19 +02:00
mediatek clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data 2023-11-20 10:30:11 +01:00
meson clk: meson: Hold reference returned by of_get_parent() 2022-10-26 13:22:34 +02:00
microchip
mmp clk: mmp: pxa168: Fix memory leak in pxa168_clk_init() 2024-02-23 08:25:01 +01:00
mvebu clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths 2021-11-17 09:48:41 +01:00
mxs
nxp
pistachio
pxa clk: pxa: fix one of the pxa RTC clocks 2020-01-04 19:18:11 +01:00
qcom clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays 2024-04-13 12:51:24 +02:00
renesas clk: renesas: cpg-mssr: Remove superfluous check in resume code 2023-03-11 16:43:51 +01:00
rockchip clk: rockchip: rk3128: Fix HCLK_OTG gate register 2024-01-25 14:34:20 -08:00
samsung clk: samsung: Fix memory leak in _samsung_clk_register_pll() 2023-01-18 11:41:12 +01:00
sifive clk: sifive: allocate sufficient memory for struct __prci_data 2020-06-30 15:37:01 -04:00
sirf clk: clk-atlas6: fix return value check in atlas6_clk_init() 2020-08-21 13:05:34 +02:00
socfpga clk: socfpga: Fix memory leak in socfpga_gate_init() 2023-01-18 11:41:13 +01:00
spear clk: spear: Make structure i2s_sclk_masks constant 2019-09-06 10:27:40 -07:00
sprd clk: sprd: return correct type of value for _sprd_pll_recalc_rate 2020-06-24 17:50:35 +02:00
st clk: st: Fix memory leak in st_of_quadfs_setup() 2023-01-18 11:41:38 +01:00
sunxi clk: sunxi: sun9i-mmc: check return value after calling platform_get_resource() 2022-05-09 09:03:25 +02:00
sunxi-ng clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change 2024-05-17 11:43:50 +02:00
tegra clk: tegra: fix error return case for recalc_rate 2023-10-10 21:46:39 +02:00
ti clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe 2022-10-26 13:22:43 +02:00
uniphier clk: uniphier: Fix fixed-rate initialization 2022-04-15 14:17:58 +02:00
ux500
versatile clk: versatile: Add of_node_put() in cm_osc_setup() 2019-08-07 15:25:25 -07:00
x86
zte clk: zx296718: Don't reference clk_init_data after registration 2019-08-16 10:20:15 -07:00
zynq
zynqmp drivers: clk: zynqmp: calculate closest mux rate 2024-01-25 14:34:28 -08:00
Kconfig clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM 2023-09-23 10:59:39 +02:00
Makefile clk: Add support for AST2600 SoC 2019-09-06 15:22:29 -07:00
clk-asm9260.c
clk-aspeed.c clk: aspeed: Move structures to header 2019-09-06 15:17:02 -07:00
clk-aspeed.h clk: aspeed: Move structures to header 2019-09-06 15:17:02 -07:00
clk-ast2600.c clk: ast2600: BCLK comes from EPLL 2022-10-26 13:22:43 +02:00
clk-axi-clkgen.c
clk-axm5516.c
clk-bd718x7.c
clk-bulk.c clk: Make clk_bulk_get_all() return a valid "id" 2019-09-17 13:26:31 -07:00
clk-cdce706.c
clk-cdce925.c clk: cdce925: check return value of kasprintf() 2023-07-27 08:37:15 +02:00
clk-clps711x.c clk: clps711x: Terminate clk_div_table with sentinel element 2022-04-15 14:18:19 +02:00
clk-composite.c clk: composite: Drop unused clk.h include 2019-08-16 10:37:01 -07:00
clk-conf.c clk: add missing of_node_put() in "assigned-clocks" property parsing 2023-05-17 11:35:51 +02:00
clk-cs2000-cp.c
clk-devres.c clk: Fix slab-out-of-bounds error in devm_clk_release() 2023-08-30 16:27:25 +02:00
clk-divider.c
clk-efm32gg.c
clk-fixed-factor.c
clk-fixed-mmio.c
clk-fixed-rate.c
clk-fractional-divider.c
clk-gate.c treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
clk-gemini.c
clk-gpio.c clk: clk-gpio: propagate rate change to parent 2020-01-04 19:17:21 +01:00
clk-hi655x.c
clk-highbank.c
clk-hsdk-pll.c
clk-lochnagar.c clk: lochnagar: Don't reference clk_init_data after registration 2019-08-16 10:20:07 -07:00
clk-max9485.c
clk-max77686.c
clk-milbeaut.c clk: milbeaut: Don't reference clk_init_data after registration 2019-08-16 10:20:15 -07:00
clk-moxart.c
clk-multiplier.c
clk-mux.c
clk-nomadik.c
clk-npcm7xx.c clk: npcm7xx: Fix incorrect kfree 2023-11-20 10:30:10 +01:00
clk-nspire.c
clk-oxnas.c clk: oxnas: Hold reference returned by of_get_parent() 2022-10-26 13:22:34 +02:00
clk-palmas.c
clk-pwm.c
clk-qoriq.c clk: qoriq: Fix -Wunused-const-variable 2019-08-07 14:17:49 -07:00
clk-rk808.c
clk-s2mps11.c clk: s2mps11: Fix a resource leak in error handling paths in the probe function 2020-12-30 11:51:29 +01:00
clk-scmi.c clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped 2023-11-20 10:30:12 +01:00
clk-scpi.c
clk-si514.c
clk-si544.c
clk-si570.c
clk-si5341.c clk: si5341: fix an error code problem in si5341_output_clk_set_rate 2024-01-25 14:34:28 -08:00
clk-si5351.c
clk-si5351.h
clk-stm32f4.c clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system enter shell 2022-01-27 09:19:39 +01:00
clk-stm32h7.c
clk-stm32mp1.c
clk-tango4.c
clk-twl6040.c
clk-u300.c
clk-versaclock5.c
clk-vt8500.c
clk-wm831x.c
clk-xgene.c
clk.c clk: Don't hold prepare_lock when calling kref_put() 2024-05-17 11:43:53 +02:00
clk.h
clkdev.c