[PATCH 0/4] driver: core: add subsys_platform_driver() to reduce boilerplate code in drivers
From: Brian Masney
Date: Tue Sep 08 2026 - 13:51:36 EST
There are a fair number of clk drivers that are registered at the
subsys_initcall level since some clk drivers need to be initialized
early for other drivers. Let's add a new macro
subsys_platform_driver() similar module_platform_driver() to eliminate
some boilerplate code in the drivers.
This series converts the Qualcomm and Renesas clk drivers to show the
code savings that can be achieved. Once this lands, I'll convert the
remaining clk drivers this development cycle if all of this can go
through the clk tree.
Outside of drivers/clk, there are 364 drivers that use subsys_initcall
and I am willing to convert those as well starting the next development
cycle once this lands in Linus's tree.
Signed-off-by: Brian Masney <bmasney@xxxxxxxxxx>
---
Brian Masney (4):
driver: core: add subsys_driver() macro
driver: core: platform: add subsys_platform_driver() macro
clk: qcom: convert drivers over to use subsys_platform_driver()
clk: renesas: convert drivers over to use subsys_platform_driver()
drivers/clk/qcom/dispcc-x1e80100.c | 12 +-----------
drivers/clk/qcom/gcc-eliza.c | 12 +-----------
drivers/clk/qcom/gcc-glymur.c | 12 +-----------
drivers/clk/qcom/gcc-hawi.c | 12 +-----------
drivers/clk/qcom/gcc-kaanapali.c | 12 +-----------
drivers/clk/qcom/gcc-kuno.c | 12 +-----------
drivers/clk/qcom/gcc-milos.c | 12 +-----------
drivers/clk/qcom/gcc-nord.c | 12 +-----------
drivers/clk/qcom/gcc-qcm2290.c | 12 +-----------
drivers/clk/qcom/gcc-qcs615.c | 12 +-----------
drivers/clk/qcom/gcc-qcs8300.c | 12 +-----------
drivers/clk/qcom/gcc-qdu1000.c | 12 +-----------
drivers/clk/qcom/gcc-sar2130p.c | 12 +-----------
drivers/clk/qcom/gcc-sc7280.c | 12 +-----------
drivers/clk/qcom/gcc-sc8280xp.c | 12 +-----------
drivers/clk/qcom/gcc-sdx55.c | 12 +-----------
drivers/clk/qcom/gcc-sdx65.c | 12 +-----------
drivers/clk/qcom/gcc-sdx75.c | 12 +-----------
drivers/clk/qcom/gcc-shikra.c | 12 +-----------
drivers/clk/qcom/gcc-sm4450.c | 12 +-----------
drivers/clk/qcom/gcc-sm6115.c | 12 +-----------
drivers/clk/qcom/gcc-sm6125.c | 12 +-----------
drivers/clk/qcom/gcc-sm6375.c | 12 +-----------
drivers/clk/qcom/gcc-sm7150.c | 12 +-----------
drivers/clk/qcom/gcc-sm8150.c | 12 +-----------
drivers/clk/qcom/gcc-sm8250.c | 12 +-----------
drivers/clk/qcom/gcc-sm8350.c | 12 +-----------
drivers/clk/qcom/gcc-sm8450.c | 12 +-----------
drivers/clk/qcom/gcc-sm8550.c | 12 +-----------
drivers/clk/qcom/gcc-sm8650.c | 12 +-----------
drivers/clk/qcom/gcc-sm8750.c | 12 +-----------
drivers/clk/qcom/gcc-x1e80100.c | 12 +-----------
drivers/clk/qcom/lpasscc-sc7280.c | 12 +-----------
drivers/clk/qcom/lpasscc-sdm845.c | 12 +-----------
drivers/clk/qcom/tcsrcc-eliza.c | 12 +-----------
drivers/clk/qcom/tcsrcc-glymur.c | 12 +-----------
drivers/clk/qcom/tcsrcc-kaanapali.c | 12 +-----------
drivers/clk/qcom/tcsrcc-sm8550.c | 12 +-----------
drivers/clk/qcom/tcsrcc-sm8650.c | 12 +-----------
drivers/clk/qcom/tcsrcc-sm8750.c | 12 +-----------
drivers/clk/qcom/tcsrcc-x1e80100.c | 12 +-----------
drivers/clk/qcom/videocc-sm8750.c | 12 +-----------
drivers/clk/renesas/r9a06g032-clocks.c | 8 +-------
drivers/clk/renesas/renesas-cpg-mssr.c | 7 +------
drivers/clk/renesas/rzg2l-cpg.c | 7 +------
drivers/clk/renesas/rzv2h-cpg.c | 7 +------
include/linux/device/driver.h | 31 +++++++++++++++++++++++++++++++
include/linux/platform_device.h | 30 ++++++++++++++++++++++++++++++
48 files changed, 107 insertions(+), 487 deletions(-)
---
base-commit: 944a035ecca915ae947905dcfb03f2b9dc6d032c
change-id: 20260908-subsys_initcall-05dfd5fb0f04
Best regards,
--
Brian Masney <bmasney@xxxxxxxxxx>