I'm posting this as RFC to see if there's any interest. I noticed that some drivers do: clk_get() -> clk_set_rate() -> clk_prepare_enable(). I was wondering if it's worth factoring this out into dedicated helpers. This series adds a new such helper for the "optional-enabled" use-case and the first user. Let me know if this makes sense. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> --- Bartosz Golaszewski (2): clk: provide devm_clk_get_optional_enabled_with_rate() Bluetooth: hci_qca: use devm_clk_get_optional_enabled_with_rate() drivers/bluetooth/hci_qca.c | 24 ++---------------------- drivers/clk/clk-devres.c | 28 ++++++++++++++++++++++++++++ include/linux/clk.h | 26 ++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 22 deletions(-) --- base-commit: 048d8cb65cde9fe7534eb4440bcfddcf406bb49c change-id: 20240801-clk-new-helper-7853f662cda1 Best regards, -- Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>