clk: Don't hold prepare_lock when calling kref_put()
authorStephen Boyd <sboyd@kernel.org>
Mon, 25 Mar 2024 18:41:56 +0000 (11:41 -0700)
committerStephen Boyd <sboyd@kernel.org>
Mon, 8 Apr 2024 02:29:51 +0000 (19:29 -0700)
commit6f63af7511e7058f3fa4ad5b8102210741c9f947
tree3f0d8f729e6aa39a3cef0d2fe046590c2a2616f0
parent8358a76cfb47c9a5af627a0c4e7168aa14fa25f6
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
drivers/clk/clk.c