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

From: Paul Gortmaker
Date: Sat Jul 02 2016 - 19:40:40 EST


[Re: [PATCH 0/4] sh: fix up modular use in non-modular code] On 02/06/2016 (Thu 15:54) Yoshinori Sato wrote:

> On Fri, 27 May 2016 01:53:34 +0900,
> Rich Felker wrote:
> >
> > On Thu, May 26, 2016 at 12:45:57PM -0400, Paul Gortmaker wrote:
> > > [[PATCH 0/4] sh: fix up modular use in non-modular code] On 22/04/2016 (Fri 14:07) Paul Gortmaker wrote:
> > >
> > > > 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.
> > >
> > > Ping -- wondering if there are any issues here, or if I can expect these
> > > to be merged upstream in the merge window. I didn't see them loop
> > > around via the linux-next tree but I wasn't sure if arch/sh has a repo
> > > for linux-next.
> >
> > I don't have experience with the affected code, but it looks ok unless
> > any of these "should" be modular and Kconfig was just wrong to
> > disallow it.
> >
> > Sato-san, do you have an opinion on these? Should I go ahead and just
> > merge them?
>
> It looks no problem.
> I think can merge it.

Just checking in a month later; my queue that I test regularly against
the linux-next tree still has these:

sh-make-heartbeat-driver-explicitly-non-modular.patch
sh-make-board-secureedge5410.c-explicitly-non-m.patch
sh-make-mm-asids-debugfs-explicitly-non-modular.patch
sh-make-time.c-explicitly-non-modular.patch

Apologies in advance if you have a sh queue that is pending but for some
reason is not fed into the nightly linux-next tree generation. If so,
let me know and I won't worry about looking for these until merge window.

Thanks,
Paul.
--

>
> > Rich
> >
> > > > 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
> > > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> > > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
> Yoshinori Sato
> <ysato@xxxxxxxxxxxxxxxxxxxx>