[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250108005854.2973184-1-sboyd@kernel.org>
Date: Tue, 7 Jan 2025 16:58:45 -0800
From: Stephen Boyd <sboyd@...nel.org>
To: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>
Cc: linux-kernel@...r.kernel.org,
linux-clk@...r.kernel.org,
patches@...ts.linux.dev
Subject: [PATCH 0/4] clk: Move debugfs to a loadable kernel module
This series moves as much of the debugfs code as possible from the core
clk framework file clk.c into a loadable kernel module. The goal is to
move the debugfs code out of the primary vmlinux and allow users to
decide if they want to load the debugging logic at all. To get there, we
make the debugfs code use struct clk_hw and then add a bunch of helpers
to interrogate the clk_hw enough to satisfy the use-cases we have in
debugfs today. Finally we move the code from clk.c to clk-debug.c almost
wholesale, except for some tree walking logic and functions to
interrogate a struct clk_hw or install a function pointer to call when a
clk is registered.
I'll probably wait to merge this until after we're able to limit the
exporting of kernel symbols to particular modules, because I'm not super
excited with exporting internal clk details to any module. For now, I've
put the symbols that are newly introduced for debugfs into the
"clk-debug" namespace.
Stephen Boyd (4):
clk: Prepare clk_debug_create_one() to be split off
clk: Use struct clk_hw instead of struct clk_core for debugfs
clk: Iterate instead of recurse for debugfs printing
clk: Make debugfs code into a loadable kernel module
drivers/clk/Kconfig | 8 +
drivers/clk/Makefile | 1 +
drivers/clk/clk-debug.c | 529 ++++++++++++++++++++++++++++++++
drivers/clk/clk-debug.h | 33 ++
drivers/clk/clk.c | 646 ++++++++++++----------------------------
5 files changed, 763 insertions(+), 454 deletions(-)
create mode 100644 drivers/clk/clk-debug.c
create mode 100644 drivers/clk/clk-debug.h
base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4
--
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/
https://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi.git
Powered by blists - more mailing lists