Re: [PATCH v2 0/5] drivers/tty: make more bool drivers explicitly non-modular

From: Paul Gortmaker
Date: Sat Sep 26 2015 - 18:54:25 EST


[[PATCH v2 0/5] drivers/tty: make more bool drivers explicitly non-modular] On 19/08/2015 (Wed 17:48) Paul Gortmaker wrote:

> [v2: drop dead module code removal from 8250_lpc18xx.c ; instead convert it
> from bool to tristate ; also add ack to hvc_console commit.]
>
> This second set of patches to drivers/tty steps outside of the serial
> dir, and an improved auditing finds two more serial drivers pretending
> to be modular that really are not.

Hi Greg -- wondering if this is still in your to-do queue. I see the
patches to drivers/char that I sent about the same time made it onto
your char-testing branch but not these onto tty-testing.

The reason I ask is that I've about a 1/2 dozen more similar patches
that showed up once I started auditing non-x86 code. I don't want to
re-spam you with these along with the new ones, if these are still in
your backlog for processing.

Thanks,
Paul.
--

>
> The reasoning for doing this is the same as the first set[1] of patches
> and is largely copied below:
>
> In the previous merge window, we made changes to allow better
> delineation between modular and non-modular code in commit
> 0fd972a7d91d6e15393c449492a04d94c0b89351 ("module: relocate module_init
> from init.h to module.h"). This allows us to now ensure module code
> looks modular and non-modular code does not accidentally look modular
> without suffering build breakage.
>
> Here we target code that is, by nature of their Kconfig settings, only
> available to be built-in, but implicitly presenting itself as being
> possibly modular by way of using modular headers, macros, and functions.
>
> The goal here is to remove that illusion of modularity from these
> drivers, but in a way that leaves the actual runtime unchanged.
> In doing so, we remove code that has never been tested and adds
> no value to the tree. And we begin the process of expecting a
> level of consistency between the Kconfig of a driver and the code
> that the driver uses.
>
> Build tested for allyesconfig on x86_64, and ARM for lpc81xx, and powerpc
> for hvc_console and mpsc, layered onto tty/tty-next as a baseline.
>
> Paul.
>
> [1] https://lkml.kernel.org/r/1437530538-5078-1-git-send-email-paul.gortmaker@xxxxxxxxxxxxx
> --
>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Jiri Slaby <jslaby@xxxxxxxx>
> Cc: Joachim Eastwood <manabian@xxxxxxxxx>
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> Cc: linux-serial@xxxxxxxxxxxxxxx
>
> Paul Gortmaker (5):
> drivers/tty: make pty.c slightly more explicitly non-modular
> drivers/tty: make sysrq.c slightly more explicitly non-modular
> drivers/tty: make hvc_console.c explicitly non-modular
> drivers/tty: make serial/mpsc.c driver explicitly non-modular
> drivers/tty: make serial 8250_lpc18xx.c Kconfig a tristate
>
> drivers/tty/hvc/hvc_console.c | 18 +-----------------
> drivers/tty/pty.c | 7 +++++--
> drivers/tty/serial/8250/Kconfig | 2 +-
> drivers/tty/serial/mpsc.c | 36 +++---------------------------------
> drivers/tty/sysrq.c | 6 +++++-
> 5 files changed, 15 insertions(+), 54 deletions(-)
>
> --
> 2.5.0
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/