No description
Find a file
Andrew F. Davis 9963847419 ueventd: Add dynamic kernel module loading
For some platforms it is not known at build time what devices
will be attached at runtime. Building into the kernel or pre-loading
at init all the modules that could be needed would unnecessary bloat
the kernel. The solution is dynamic kernel module loading.

The kernel will generate uevents when devices are added, userspace
should monitor for these events and load the compatible modules.

The init process already monitors for uevents, add here the ability
to respond to modalias events and preform the correct action.

Adding this to init is preferred over an external program as we
can read and process the module alias and dependency files once,
instead of for each module needing to be loaded.

Test: Run on Beagle-X15, check all needed modules are loaded (lsmod)
Change-Id: I1b57d9aeb0a9770f309207183dc4bc2b7b905f14
Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
2018-07-26 09:42:22 -05:00
adb Merge "adb: fix forward --list, --remove(-all) with multiple devices." 2018-07-24 00:47:47 +00:00
adf Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
base Merge "Revert "Revert "base: add support for tagged fd closure to unique_fd.""" 2018-07-20 23:09:27 +00:00
bootstat Merge "bootstat: record reboot reason history in persist.sys.boot.reason.history" 2018-07-02 20:28:49 +00:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd crasher: add close(fileno(FILE*)) and close(dirfd(DIR*)). 2018-07-18 18:11:46 -07:00
demangle Build adbd for recovery 2018-05-24 14:11:11 +09:00
diagnose_usb Build adbd for recovery 2018-05-24 14:11:11 +09:00
fastboot Merge "Revert "Add derived UsbTransport class with USB reset method"" 2018-07-25 15:24:54 +00:00
fs_mgr fs_mgr: Add a method for creating one-off partition instances. 2018-07-23 11:43:27 -07:00
gatekeeperd Fix memory leak when GateKeeperProxy.verify() returns 2018-06-18 11:05:42 +09:00
healthd libbatterymonitor: vendor_available 2018-07-16 11:26:04 -07:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init ueventd: Add dynamic kernel module loading 2018-07-26 09:42:22 -05:00
libappfuse bpfmt. 2018-02-16 17:58:14 -08:00
libasyncio Build adbd for recovery 2018-05-24 14:11:11 +09:00
libbacktrace [libutils] Modernize codebase by replacing NULL with nullptr 2018-07-16 18:11:34 -07:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Build adbd for recovery 2018-05-24 14:11:11 +09:00
libcutils Merge "libcutils: ashmem: Avoid doing fd checks for ashmem calls" 2018-07-18 02:14:54 +00:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libion libion: cleanup logging 2018-03-07 10:56:06 -08:00
libkeyutils Build adbd for recovery 2018-05-24 14:11:11 +09:00
liblog Declare __FAKE_USE_VA_ARGS as a variadic function. 2018-07-23 13:03:19 -07:00
libmemtrack Add OWNERS. 2017-12-07 13:30:03 -08:00
libmemunreachable Move libbacktrace off cutils. 2018-07-11 13:55:07 -07:00
libmetricslogger Add support for logging complex events from C++. 2018-05-08 10:27:09 +01:00
libnativebridge bpfmt. 2018-02-16 17:58:14 -08:00
libnativeloader Separate namespace acquisition from library loading 2018-07-12 15:44:35 +02:00
libnetutils Add OWNERS. 2017-12-07 13:30:03 -08:00
libpackagelistparser Mark as recovery_available: true 2018-05-15 09:47:04 +09:00
libpixelflinger MIPS[64]: codeflinger: Fix build due to unused variable warnings 2017-11-06 16:38:49 +01:00
libprocessgroup Add recovery_available: true to init dependencies 2018-07-24 13:45:50 -07:00
libprocinfo libprocinfo: return error msg instead of printing it. 2018-07-24 14:34:06 -07:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse [libsparse] Modernize codebase by replacing NULL with nullptr 2018-07-23 23:32:01 +00:00
libstats Remove a redundant check in statsd socket code. 2018-05-22 16:06:21 -07:00
libsuspend Add force_suspend function 2018-01-19 12:30:39 -08:00
libsync Restore the libsync __ANDROID_API__ guard 2018-07-19 22:58:14 -07:00
libsystem Mark as recovery_available: true 2018-05-15 09:47:04 +09:00
libsysutils [libsysutils] Modernize codebase by replacing NULL with nullptr 2018-07-24 16:34:27 -07:00
libunwindstack Remove Memory::ReadField. 2018-07-12 12:45:31 -07:00
libusbhost Remove urb request size maximum. 2018-02-07 16:12:14 -08:00
libutils libutils: switch Looper's fds to unique_fd. 2018-07-18 18:12:12 -07:00
libvndksupport bpfmt. 2018-02-16 17:58:14 -08:00
libziparchive libziparchive: use fdsan in ZipArchive. 2018-07-18 18:11:46 -07:00
llkd llkd: bootstat: propagate detailed livelock canonical boot reason 2018-04-18 14:02:16 -07:00
lmkd lmkd: Do not set soft_limit_in_bytes on high-end devices 2018-05-22 10:25:38 -07:00
logcat add event log range for audioserver 2018-07-10 14:21:38 -07:00
logd [logd] Modernize codebase by replacing NULL with nullptr 2018-07-13 17:50:55 -07:00
logwrapper Build adbd for recovery 2018-05-24 14:11:11 +09:00
mkbootimg Add recovery_available: true to init dependencies 2018-07-24 13:45:50 -07:00
property_service Add recovery_available: true to init dependencies 2018-07-24 13:45:50 -07:00
qemu_pipe Build adbd for recovery 2018-05-24 14:11:11 +09:00
reboot reboot: only pause indefinitely for non-shutdown operations 2017-09-29 16:29:52 +00:00
rootdir Merge "ueventd: let scripts provide firmware directories" 2018-07-16 23:00:53 +00:00
run-as run-as: Migrate to blueprint 2018-06-27 11:15:23 -07:00
sdcard Remove FUSE logic; it's only a sdcardfs wrapper. 2018-01-12 15:41:55 -07:00
shell_and_utilities Merge "Split shell_and_utilities into partition parts." 2018-06-21 07:32:37 +00:00
storaged Merge "storaged: lower capabilities in init" 2018-04-12 15:55:26 +00:00
toolbox Merge "newfs_msdos: switch to external/newfs_msdos." 2018-06-20 19:06:59 +00:00
trusty bpfmt. 2018-02-16 17:58:14 -08:00
usbd bpfmt. 2018-02-16 17:58:14 -08:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Remove PenaltyExcessCharacter from clang-formats. 2018-07-19 13:50:41 -07:00
.clang-format-4 Remove PenaltyExcessCharacter from clang-formats. 2018-07-19 13:50:41 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk Shared libs are supported in recovery mode 2018-06-10 08:32:24 +09:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
platform_tools_tool_version.mk Fix warning on the build servers 2017-05-25 12:35:40 -07:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00