[PATCH 0/4] sh: fix up modular use in non-modular code

From: Paul Gortmaker
Date: Fri Apr 22 2016 - 14:07:37 EST


For anyone new to the underlying goal of this cleanup, we are trying to
make kernel code consistent with the Makefiles/Kconfigs that control them.

This means not using modular functions/macros for code that can never
be built as a module. Some of the other downfalls this leads to are:

(1) it is easy to accidentally write unused module_exit and remove code
(2) it can be misleading when reading the source, thinking it can be
modular when the Makefile and/or Kconfig prohibit it
(3) it requires the include of the module.h header file which in turn
includes nearly everything else, thus adding to CPP overhead.
(4) it gets copied/replicated into other drivers and spreads like weeds.

Three of the four commits here are completely trivial with zero runtime
impact whatsoever. The fourth has a deletion of a ".remove" function
and as we've done elsewhere, we block the sysfs ability to reach in and
manually execute that function, since there isn't a sane use case for
which doing that makes sense.

Build tested on today's linux-next ; full build fails on duplicate syms
from OF generic board, but that is a known and reported issue elsewhere;
it has nothing to do with the changes here.

Paul
--

Cc: linux-sh@xxxxxxxxxxxxxxx
Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Cc: Rich Felker <dalias@xxxxxxxx>
Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>


Paul Gortmaker (4):
sh: make time.c explicitly non-modular
sh: make mm/asids-debugfs explicitly non-modular
sh: make board-secureedge5410 explicitly non-modular
sh: make heartbeat driver explicitly non-modular

arch/sh/boards/board-secureedge5410.c | 3 +--
arch/sh/drivers/heartbeat.c | 32 +++-----------------------------
arch/sh/kernel/time.c | 3 +--
arch/sh/mm/asids-debugfs.c | 5 +----
4 files changed, 6 insertions(+), 37 deletions(-)

--
2.8.0