From: Brian Masney <bmasney@redhat.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Danilo Krummrich <dakr@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Stephen Boyd <sboyd@kernel.org>,
Jerome Brunet <jbrunet+clk@baylibre.com>,
Geert Uytterhoeven <geert+renesas@glider.be>
Cc: driver-core@lists.linux.dev, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
linux-renesas-soc@vger.kernel.org,
Brian Masney <bmasney@redhat.com>
Subject: [PATCH 0/4] driver: core: add subsys_platform_driver() to reduce boilerplate code in drivers
Date: Tue, 08 Sep 2026 13:47:17 -0400 [thread overview]
Message-ID: <20260908-subsys_initcall-v1-0-cbccf4cd4288@redhat.com> (raw)
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@redhat.com>
---
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@redhat.com>
next reply other threads:[~2026-09-08 17:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-08 17:47 Brian Masney [this message]
2026-09-08 17:47 ` [PATCH 1/4] driver: core: add subsys_driver() macro Brian Masney
2026-09-09 11:44 ` Abel Vesa
2026-09-09 15:14 ` Geert Uytterhoeven
2026-09-08 17:47 ` [PATCH 2/4] driver: core: platform: add subsys_platform_driver() macro Brian Masney
2026-09-09 11:44 ` Abel Vesa
2026-09-09 15:16 ` Geert Uytterhoeven
2026-09-08 17:47 ` [PATCH 3/4] clk: qcom: convert drivers over to use subsys_platform_driver() Brian Masney
2026-09-09 11:25 ` Konrad Dybcio
2026-09-09 11:45 ` Abel Vesa
2026-09-09 12:10 ` Brian Masney
2026-09-08 17:47 ` [PATCH 4/4] clk: renesas: " Brian Masney
2026-09-09 15:19 ` Geert Uytterhoeven
2026-09-09 14:40 ` [PATCH 0/4] driver: core: add subsys_platform_driver() to reduce boilerplate code in drivers Pankaj Patil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260908-subsys_initcall-v1-0-cbccf4cd4288@redhat.com \
--to=bmasney@redhat.com \
--cc=andersson@kernel.org \
--cc=dakr@kernel.org \
--cc=driver-core@lists.linux.dev \
--cc=geert+renesas@glider.be \
--cc=gregkh@linuxfoundation.org \
--cc=jbrunet+clk@baylibre.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®