]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/rockchip: lvds: move pclk preparation in with clk_get
authorHeiko Stuebner <heiko.stuebner@cherry.de>
Tue, 4 Mar 2025 12:44:16 +0000 (13:44 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 4 Mar 2025 15:59:56 +0000 (16:59 +0100)
commitd4f5efb9139cad34823f265053c57baf6af3c70c
tree9721032c0b99b7aba5e577ae0a754ea44a948dd8
parentd05386a3fdf373a19ab1918846668f096e6f966a
drm/rockchip: lvds: move pclk preparation in with clk_get

The LVDS block needs a separate pclk only on some socs, so currently
requests and prepares it in the soc-specific probe function, but common
code is required to unprepare it in the error path or on driver remove.

While this works because clk_unprepare just does nothing if clk is NULL,
this mismatch of who is responsible still is not very nice.
The clock-framework already has a helper for clk-get-and-prepare even
with devres support in devm_clk_get_prepared().

This will get and prepare the clock and also unprepare it on driver
removal, saving the driver from having to handle it "manually".

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Andy Yan <andy.yan@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20250304124418.111061-2-heiko@sntech.de
drivers/gpu/drm/rockchip/rockchip_lvds.c