staging: make non-modular code explicitly non-modular
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest1 of 7 patches 0 repliesNew
1 of 7 patches is in this archive. The cover letter announces 7.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 3/7 | drivers/staging: make android tegra_ion.c properly tristatedrivers/ | +1 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/7] staging: make non-modular code explicitly non-modular
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.
--
Signature · 21 lines
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