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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux