[PATCH 0/7] staging: make non-modular code explicitly non-modular

From: Paul Gortmaker
Date: Sun Oct 11 2015 - 19:03:56 EST


[resending; forgot to add lkml to Cc: -- sorry for those who get this 2x]

In a 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
just to avoid suffering build breakage.

Here we target code that is, by nature of their Makefile and/or
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
files, 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 continue the process of expecting a
level of consistency between the Kconfig/Makefile of code and the
code in use itself.

There are two exceptions to unchanged runtime here: The first is
in emxx_udc.c driver: one previously could use sysfs to unbind the
driver which would try and use a .remove function that the linker
should have dropped as it was __exit. We simply disable
unbind/bind for this driver. The second is for Tegra ION memory
manager; it clearly was intended to be tristate but the makefile
did not allow it to be; that is now fixed.

Build tested on staging-testing from Sat, on ARM, since the majority
of drivers here are Android related.

Paul.
--

Cc: Alexandre Courbot <gnurou@xxxxxxxxx>
Cc: "Arve HjÃnnevÃg" <arve@xxxxxxxxxxx>
Cc: Chris Rorvick <chris@xxxxxxxxxxx>
Cc: Felipe Balbi <balbi@xxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: "Gujulan Elango, Hari Prasath (H.)" <hgujulan@xxxxxxxxxxx>
Cc: Haneen Mohammed <hamohammed.sa@xxxxxxxxx>
Cc: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Cc: Peter Chen <peter.chen@xxxxxxxxxxxxx>
Cc: Riley Andrews <riandrews@xxxxxxxxxxx>
Cc: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx>
Cc: Robert Baldyga <r.baldyga@xxxxxxxxxxx>
Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Cc: Vincenzo Scotti <vinc94@xxxxxxxxx>
Cc: devel@xxxxxxxxxxxxxxxxxxxx
Cc: linux-tegra@xxxxxxxxxxxxxxx

--
2.6.1
Paul Gortmaker (7):
drivers/staging: make android ashmem.c explicitly non-modular
drivers/staging: make android ion_page_pool.c explicitly non-modular
drivers/staging: make android tegra_ion.c properly tristate
drivers/staging: make android sw_sync.c explicitly non-modular
drivers/staging: make android lowmemorykiller.c explicitly non-modular
drivers/staging: make android timed_output.c explicitly non-modular
drivers/staging: make emxx_udc.c explicitly non-modular

drivers/staging/android/ashmem.c | 20 +++-------------
drivers/staging/android/ion/ion_page_pool.c | 10 ++------
drivers/staging/android/ion/tegra/Makefile | 2 +-
drivers/staging/android/lowmemorykiller.c | 18 ++++++--------
drivers/staging/android/sw_sync.c | 11 ++-------
drivers/staging/android/timed_output.c | 16 +++----------
drivers/staging/emxx_udc/emxx_udc.c | 37 ++++-------------------------
7 files changed, 22 insertions(+), 92 deletions(-)

--
2.6.1

--
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/