linux/drivers/clk
Stephen Boyd 6f63af7511 clk: Don't hold prepare_lock when calling kref_put()
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
2024-04-07 19:29:51 -07:00
..
actions clk: actions: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:03 -07:00
analogbits clk: analogbits: Allow building the library as a module 2023-10-23 20:26:49 -07:00
at91 clk: at91: remove unnecessary conditions 2023-10-18 17:56:13 -07:00
axis
axs10x clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
baikal-t1 clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
bcm clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
berlin clk: berlin: div: Add a determine_rate hook 2023-06-08 18:39:26 -07:00
davinci clk: Use device_get_match_data() 2023-10-23 20:16:21 -07:00
hisilicon clk: hisilicon: Use devm_kcalloc() instead of devm_kzalloc() 2024-02-21 20:27:19 -08:00
imgtec
imx Merge branches 'clk-samsung', 'clk-imx', 'clk-rockchip', 'clk-clkdev' and 'clk-rate-exclusive' into clk-next 2024-03-13 12:36:21 -07:00
ingenic clk: ingenic: tcu: Switch to determine_rate 2023-06-08 18:39:34 -07:00
keystone Merge branches 'clk-aspeed', 'clk-keystone', 'clk-mobileye' and 'clk-allwinner' into clk-next 2024-03-13 12:34:04 -07:00
mediatek clk: mediatek: clk-mt8173-apmixedsys: Use common error handling code in clk_mt8173_apmixed_probe() 2024-02-28 17:13:53 -08:00
meson clk: meson: Add missing clocks to axg_clk_regmaps 2024-02-05 10:06:21 +01:00
microchip clk: microchip: mpfs: convert MSSPLL outputs to clk_divider 2024-02-06 14:07:18 +00:00
mmp clk: mmp: pxa168: Fix memory leak in pxa168_clk_init() 2023-12-16 17:15:06 -08:00
mstar
mvebu Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next 2023-08-30 14:39:19 -07:00
mxs
nuvoton clk: nuvoton: Convert to devm_platform_ioremap_resource() 2023-08-22 14:52:11 -07:00
nxp
pistachio
pxa ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
qcom clk: qcom: gcc-ipq5018: fix register offset for GCC_UBI0_AXI_ARES reset 2024-03-03 20:00:49 -08:00
ralink clk: ralink: mtmips: quiet unused variable warning 2023-10-18 17:31:44 -07:00
renesas clk: renesas: r8a779h0: Add RPC-IF clock 2024-02-20 11:37:34 +01:00
rockchip clk: rockchip: rk3399: Allow to set rate of clk_i2s0_frac's parent 2024-02-27 23:45:53 +01:00
samsung clk: samsung: Add CPU clock support for Exynos850 2024-02-25 17:07:34 +01:00
sifive clk: sifive: Allow building the driver as a module 2023-10-23 20:27:46 -07:00
socfpga Merge branches 'clk-debugfs', 'clk-spreadtrum', 'clk-sifive', 'clk-counted' and 'clk-qcom' into clk-next 2023-10-30 14:10:51 -07:00
spear clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
sprd Merge branches 'clk-debugfs', 'clk-spreadtrum', 'clk-sifive', 'clk-counted' and 'clk-qcom' into clk-next 2023-10-30 14:10:51 -07:00
st clk: st: flexgen: Switch to determine_rate 2023-06-08 18:39:35 -07:00
starfive clk: starfive: jh7110-vout: Convert to platform remove callback returning void 2024-03-08 15:18:36 -08:00
stm32 clk: stm32mp1: use stm32mp13 reset driver 2023-12-17 15:33:26 -08:00
sunxi clk: sunxi: usb: fix kernel-doc warnings 2024-01-23 21:47:54 +01:00
sunxi-ng clk: sunxi-ng: nkm: remove redundant initialization of tmp_parent 2023-11-18 23:20:34 +01:00
tegra clk: tegra: fix error return case for recalc_rate 2023-09-12 10:56:05 -07:00
ti ARM: late SoC changes for 6.9 2024-03-19 11:57:26 -07:00
uniphier clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
ux500 clk: ux500: sysctrl: Add a determine_rate hook 2023-06-08 18:39:30 -07:00
versatile clk: versatile: sp810: Add a determine_rate hook 2023-06-08 18:39:31 -07:00
visconti clk: visconti: Add bounds-checking coverage for struct visconti_pll_provider 2023-10-23 19:40:20 -07:00
x86 clk: x86: Move clk-pmc-atom register defines to include/linux/platform_data/x86/pmc_atom.h 2024-03-12 12:48:15 +02:00
xilinx clk: clocking-wizard: Remove redundant initialization of pointer div_addr 2024-02-28 14:51:51 -08:00
zynq clk: zynq: Prevent null pointer dereference caused by kmalloc failure 2024-03-08 17:15:20 -08:00
zynqmp drivers: clk: zynqmp: update divider round rate logic 2023-12-16 17:20:14 -08:00
.kunitconfig clk: fractional-divider: tests: Add test suite for edge cases 2023-10-12 15:05:00 -07:00
clk_test.c clk: Parameterize clk_leaf_mux_set_rate_parent 2023-10-09 20:08:25 -07:00
clk-apple-nco.c
clk-asm9260.c clk: asm9620: Remove 'hw' local variable that isn't checked 2023-09-11 13:12:53 -07:00
clk-aspeed.c Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next 2023-08-30 14:39:19 -07:00
clk-aspeed.h
clk-ast2600.c clk: ast2600: Add FSI parent clock with correct rate 2024-02-21 21:46:13 -08:00
clk-axi-clkgen.c clk: axi-clkgen: Switch to determine_rate 2023-06-08 18:39:33 -07:00
clk-axm5516.c clk: axm5516: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:05 -07:00
clk-bd718x7.c
clk-bm1880.c clk: bm1880: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:11 -07:00
clk-bulk.c
clk-cdce706.c Merge branches 'clk-renesas', 'clk-determine-rate', 'clk-allwinner', 'clk-samsung' and 'clk-amlogic' into clk-next 2023-06-26 08:55:04 -07:00
clk-cdce925.c clk: cdce925: Remove redundant assignment to variable 'rate' 2024-02-21 21:36:09 -08:00
clk-clps711x.c
clk-composite.c clk: composite: Fix handling of high clock rates 2023-06-12 17:42:10 -07:00
clk-conf.c clk: add missing of_node_put() in "assigned-clocks" property parsing 2023-03-29 13:53:28 -07:00
clk-cs2000-cp.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-devres.c clk: Provide managed helper to get and enable bulk clocks 2024-02-21 21:13:36 -08:00
clk-divider.c
clk-en7523.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-fixed-factor.c clk: fixed-factor: add fwname-based constructor functions 2024-02-21 22:11:51 -08:00
clk-fixed-mmio.c Nothing looks out of the ordinary in this batch of clk driver updates. There 2023-04-29 17:29:39 -07:00
clk-fixed-rate.c clk: fixed-rate: Convert to platform remove callback returning void 2023-03-28 19:23:36 -07:00
clk-fractional-divider_test.c clk: fractional-divider: tests: Add test suite for edge cases 2023-10-12 15:05:00 -07:00
clk-fractional-divider.c clk: fractional-divider: Use bit operations consistently 2024-03-08 17:07:11 -08:00
clk-fractional-divider.h
clk-fsl-flexspi.c
clk-fsl-sai.c clk: fsl-sai: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:15 -07:00
clk-gate_test.c clk: Fix clk gate kunit test on big-endian CPUs 2023-10-27 19:12:09 -07:00
clk-gate.c clk: gate: fix comment typo and grammar 2023-09-11 13:20:40 -07:00
clk-gemini.c Merge branches 'clk-imx', 'clk-samsung', 'clk-annotate', 'clk-marvell' and 'clk-lmk' into clk-next 2023-08-30 14:39:19 -07:00
clk-gpio.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-hi655x.c
clk-highbank.c
clk-hsdk-pll.c clk: hsdk-pll: Convert to devm_platform_ioremap_resource() 2023-08-22 14:28:20 -07:00
clk-k210.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-lan966x.c clk: lan966x: Remove unused round_rate hook 2023-06-08 18:39:25 -07:00
clk-lmk04832.c clk: lmk04832: Support using PLL1_LD as SPI readback pin 2023-08-23 15:47:35 -07:00
clk-lochnagar.c clk: Use device_get_match_data() 2023-10-23 20:16:21 -07:00
clk-loongson1.c clk: loongson1: Re-implement the clock driver 2023-03-21 16:34:23 -07:00
clk-loongson2.c clk: clk-loongson2: Zero init clk_init_data 2023-06-12 18:30:46 -07:00
clk-max9485.c clk: Switch i2c drivers back to use .probe() 2023-05-10 14:05:34 -07:00
clk-max77686.c
clk-milbeaut.c clk: Annotate struct clk_hw_onecell_data with __counted_by 2023-08-22 13:51:26 -07:00
clk-moxart.c
clk-multiplier.c
clk-mux.c
clk-nomadik.c clk: nomadik: correct struct name kernel-doc warning 2022-12-09 10:26:25 -08:00
clk-npcm7xx.c clk: npcm7xx: Fix incorrect kfree 2023-10-18 18:06:05 -07:00
clk-nspire.c
clk-palmas.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-plldig.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-pwm.c clk: pwm: Convert to platform remove callback returning void 2023-03-28 19:23:37 -07:00
clk-qoriq.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-renesas-pcie.c clk: rs9: Add support for 9FGV0841 2023-12-17 15:26:24 -08:00
clk-rk808.c clk: RK808: Reduce 'struct rk808' usage 2023-05-15 16:13:56 +01:00
clk-s2mps11.c clk: s2mps11: Convert to platform remove callback returning void 2023-03-28 19:23:37 -07:00
clk-scmi.c clk: scmi: Add support for clock {set,get}_parent 2023-10-08 21:16:30 +01:00
clk-scpi.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
clk-si514.c clk: si514: Convert to use maple tree register cache 2023-10-09 20:29:16 -07:00
clk-si521xx.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si544.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si570.c Merge branch 'clk-cleanup' into clk-next 2023-10-30 14:12:53 -07:00
clk-si5341.c clk: si5341: fix an error code problem in si5341_output_clk_set_rate 2023-12-17 17:46:42 -08:00
clk-si5351.c clk: si5351: allow PLLs to be adjusted without reset 2023-12-17 22:31:36 -08:00
clk-si5351.h
clk-sp7021.c clk: sp7021: fix return value check in sp7021_clk_probe() 2023-12-16 17:10:17 -08:00
clk-sparx5.c
clk-stm32f4.c clk: stm32f4: mux: Add a determine_rate hook 2023-06-08 18:39:27 -07:00
clk-stm32h7.c clk: stm32h7: Remove an unused field in struct stm32_fractional_divider 2023-04-03 14:10:42 -07:00
clk-tps68470.c
clk-twl6040.c
clk-twl.c clk: twl: add clock driver for TWL6032 2023-10-19 16:40:15 -07:00
clk-versaclock3.c clk: versaclock3: Drop ret variable 2023-12-17 15:56:14 -08:00
clk-versaclock5.c clk: versaclock5: Convert to use maple tree register cache 2023-10-09 20:31:23 -07:00
clk-versaclock7.c clk: versaclock7: Convert to use maple tree register cache 2023-10-09 20:31:23 -07:00
clk-vt8500.c
clk-wm831x.c clk: wm831x: clkout: Add a determine_rate hook 2023-06-08 18:39:28 -07:00
clk-xgene.c
clk.c clk: Don't hold prepare_lock when calling kref_put() 2024-04-07 19:29:51 -07:00
clk.h
clkdev.c clkdev: Update clkdev id usage to allow for longer names 2024-02-28 14:14:44 -08:00
Kconfig clk: stm32mp1: move stm32mp1 clock driver into stm32 directory 2023-12-17 15:33:26 -08:00
Makefile clk: stm32mp1: move stm32mp1 clock driver into stm32 directory 2023-12-17 15:33:26 -08:00