mbox series

[0/4] clk: Move debugfs to a loadable kernel module

Message ID 20250108005854.2973184-1-sboyd@kernel.org (mailing list archive)
Headers show
Series clk: Move debugfs to a loadable kernel module | expand

Message

Stephen Boyd Jan. 8, 2025, 12:58 a.m. UTC
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