Skip to content

staging: make non-modular code explicitly non-modular

Paul Gortmaker linux-tegra 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. 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 filesSizeRepliesApplied
3/7drivers/staging: make android tegra_ion.c properly tristatedrivers/staging/android/ion/tegra/Makefile+1 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

Cc Alexandre Courbot <[email protected]>
Cc "Arve Hjønnevåg" <[email protected]>
Cc Chris Rorvick <[email protected]>
Cc Felipe Balbi <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
Cc "Gujulan Elango, Hari Prasath (H.)" <[email protected]>
Cc Haneen Mohammed <[email protected]>
Cc Markus Elfring <[email protected]>
Cc Peter Chen <[email protected]>
Cc Riley Andrews <[email protected]>
Cc Roberta Dobrescu <[email protected]>
Cc Robert Baldyga <[email protected]>
Cc Stephen Warren <[email protected]>
Cc Tapasweni Pathak <[email protected]>
Cc Thierry Reding <[email protected]>
Cc Vincenzo Scotti <[email protected]>
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