[PATCH 00/48] clk: qcom: Use common probe data for always-on clocks

From: Abel Vesa

Date: Wed Sep 16 2026 - 06:49:51 EST


Many Qualcomm clock controller drivers still enable always-on branches
with individual qcom_branch_set_clk_en() calls in their probe functions.
The common probe code already supports describing these register offsets
through the clk_cbcrs and num_clk_cbcrs fields of qcom_cc_driver_data.

Convert the remaining users of these direct calls to per-controller
critical_cbcrs arrays. This centralizes branch enable handling in the
common probe path and makes the always-on register lists easier to review
alongside the other controller data.

For GCC drivers, also describe DFS RCGs through the common driver data and
move auxiliary register programming into clk_regs_configure callbacks
where appropriate. Drivers whose initialization is fully covered by the
common path can then use qcom_cc_probe() directly. Keep device-specific
setup in the remaining probe functions, including the separate CBCR lists
needed by the SA8775P/QCS8300 camera and SM8350/SC8280XP video variants.

Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>
---
Abel Vesa (48):
clk: qcom: camcc-sa8775p: Use common probe handling for always-on clocks
clk: qcom: camcc-sc8280xp: Use common probe handling for always-on clocks
clk: qcom: camcc-sm7150: Use common probe handling for always-on clocks
clk: qcom: camcc-sm8150: Use common probe handling for always-on clocks
clk: qcom: dispcc-sc7280: Use common probe handling for always-on clocks
clk: qcom: dispcc-sc8280xp: Use common probe handling for always-on clocks
clk: qcom: dispcc-sm4450: Use common probe handling for always-on clocks
clk: qcom: dispcc-sm6115: Use common probe handling for always-on clocks
clk: qcom: dispcc-sm7150: Use common probe handling for always-on clocks
clk: qcom: dispcc-sm8250: Use common probe handling for always-on clocks
clk: qcom: dispcc-sm8550: Use common probe handling for always-on clocks
clk: qcom: dispcc-sm8750: Use common probe handling for always-on clocks
clk: qcom: dispcc-x1e80100: Use common probe handling for always-on clocks
clk: qcom: dispcc0-sa8775p: Use common probe handling for always-on clocks
clk: qcom: dispcc1-sa8775p: Use common probe handling for always-on clocks
clk: qcom: gcc-qcs615: Use common clock controller probe data
clk: qcom: gcc-qcs8300: Use common clock controller probe data
clk: qcom: gcc-sa8775p: Use common clock controller probe data
clk: qcom: gcc-sar2130p: Use common clock controller probe data
clk: qcom: gcc-sc7180: Use common clock controller probe data
clk: qcom: gcc-sc7280: Use common clock controller probe data
clk: qcom: gcc-sc8280xp: Use common clock controller probe data
clk: qcom: gcc-sdx55: Use common clock controller probe data
clk: qcom: gcc-sdx65: Use common clock controller probe data
clk: qcom: gcc-sdx75: Use common clock controller probe data
clk: qcom: gcc-sm4450: Use common clock controller probe data
clk: qcom: gcc-sm6375: Use common clock controller probe data
clk: qcom: gcc-sm7150: Use common clock controller probe data
clk: qcom: gcc-sm8250: Use common clock controller probe data
clk: qcom: gcc-sm8350: Use common clock controller probe data
clk: qcom: gcc-sm8450: Use common clock controller probe data
clk: qcom: gcc-sm8550: Use common clock controller probe data
clk: qcom: gcc-sm8650: Use common clock controller probe data
clk: qcom: gcc-sm8750: Use common clock controller probe data
clk: qcom: gcc-x1e80100: Use common clock controller probe data
clk: qcom: gpucc-sar2130p: Use common probe handling for always-on clocks
clk: qcom: gpucc-sc7280: Use common probe handling for always-on clocks
clk: qcom: gpucc-sc8280xp: Use common probe handling for always-on clocks
clk: qcom: gpucc-sm4450: Use common probe handling for always-on clocks
clk: qcom: gpucc-sm8550: Use common probe handling for always-on clocks
clk: qcom: gpucc-x1e80100: Use common probe handling for always-on clocks
clk: qcom: gpucc-x1p42100: Use common probe handling for always-on clocks
clk: qcom: lpasscorecc-sc7180: Use common probe handling for always-on clocks
clk: qcom: videocc-sa8775p: Use common probe handling for always-on clocks
clk: qcom: videocc-sm6350: Use common probe handling for always-on clocks
clk: qcom: videocc-sm7150: Use common probe handling for always-on clocks
clk: qcom: videocc-sm8250: Use common probe handling for always-on clocks
clk: qcom: videocc-sm8350: Use common probe handling for always-on clocks

drivers/clk/qcom/camcc-sa8775p.c | 36 ++++++++++++-----
drivers/clk/qcom/camcc-sc8280xp.c | 13 ++++--
drivers/clk/qcom/camcc-sm7150.c | 13 ++++--
drivers/clk/qcom/camcc-sm8150.c | 13 ++++--
drivers/clk/qcom/dispcc-sc7280.c | 13 ++++--
drivers/clk/qcom/dispcc-sc8280xp.c | 18 ++++++---
drivers/clk/qcom/dispcc-sm4450.c | 15 +++++--
drivers/clk/qcom/dispcc-sm6115.c | 13 ++++--
drivers/clk/qcom/dispcc-sm7150.c | 13 ++++--
drivers/clk/qcom/dispcc-sm8250.c | 13 ++++--
drivers/clk/qcom/dispcc-sm8550.c | 13 ++++--
drivers/clk/qcom/dispcc-sm8750.c | 19 ++++++---
drivers/clk/qcom/dispcc-x1e80100.c | 15 +++++--
drivers/clk/qcom/dispcc0-sa8775p.c | 15 +++++--
drivers/clk/qcom/dispcc1-sa8775p.c | 15 +++++--
drivers/clk/qcom/gcc-qcs615.c | 57 +++++++++++++-------------
drivers/clk/qcom/gcc-qcs8300.c | 51 +++++++++++------------
drivers/clk/qcom/gcc-sa8775p.c | 55 ++++++++++++-------------
drivers/clk/qcom/gcc-sar2130p.c | 45 +++++++++++----------
drivers/clk/qcom/gcc-sc7180.c | 60 +++++++++++++--------------
drivers/clk/qcom/gcc-sc7280.c | 54 +++++++++++++------------
drivers/clk/qcom/gcc-sc8280xp.c | 35 +++++++++-------
drivers/clk/qcom/gcc-sdx55.c | 31 ++++++++------
drivers/clk/qcom/gcc-sdx65.c | 31 ++++++++------
drivers/clk/qcom/gcc-sdx75.c | 31 +++++++-------
drivers/clk/qcom/gcc-sm4450.c | 64 ++++++++++++++++-------------
drivers/clk/qcom/gcc-sm6375.c | 46 +++++++++++----------
drivers/clk/qcom/gcc-sm7150.c | 60 +++++++++++++--------------
drivers/clk/qcom/gcc-sm8250.c | 57 +++++++++++++-------------
drivers/clk/qcom/gcc-sm8350.c | 52 ++++++++++++------------
drivers/clk/qcom/gcc-sm8450.c | 51 +++++++++++------------
drivers/clk/qcom/gcc-sm8550.c | 57 +++++++++++++-------------
drivers/clk/qcom/gcc-sm8650.c | 59 ++++++++++++++-------------
drivers/clk/qcom/gcc-sm8750.c | 76 +++++++++++++++--------------------
drivers/clk/qcom/gcc-x1e80100.c | 61 ++++++++++++++--------------
drivers/clk/qcom/gpucc-sar2130p.c | 13 ++++--
drivers/clk/qcom/gpucc-sc7280.c | 22 +++++++---
drivers/clk/qcom/gpucc-sc8280xp.c | 15 +++++--
drivers/clk/qcom/gpucc-sm4450.c | 17 +++++---
drivers/clk/qcom/gpucc-sm8550.c | 15 +++++--
drivers/clk/qcom/gpucc-x1e80100.c | 13 ++++--
drivers/clk/qcom/gpucc-x1p42100.c | 17 +++++---
drivers/clk/qcom/lpasscorecc-sc7180.c | 31 +++++++++-----
drivers/clk/qcom/videocc-sa8775p.c | 17 +++++---
drivers/clk/qcom/videocc-sm6350.c | 13 ++++--
drivers/clk/qcom/videocc-sm7150.c | 13 ++++--
drivers/clk/qcom/videocc-sm8250.c | 15 +++++--
drivers/clk/qcom/videocc-sm8350.c | 31 ++++++++++----
48 files changed, 873 insertions(+), 629 deletions(-)
---
base-commit: e6e35979777d646fe3c7c94dca7dd32fb25d45f4
change-id: 20260916-clk-qcom-rework-legacy-always-on-clocks-8be60886f844
prerequisite-change-id: 20260916-clk-qcom-gcc-qcs615-fix-cpuss-gnoc-offset-272641a49214:v1
prerequisite-patch-id: eb58e7f69eb18fb6f7d490e8094d8a3f2c0d0b2f

Best regards,
--
Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>