Do not allow module load lists to contain unexistent kernel modules
and bail out if that's the case, informing that the list must be
corrected.
The lists can be formed including the full module path and with or
without the file extension, like shown below:
kernel/drivers/watchdog/softdog.ko
kernel/net/wireless/cfg80211.ko
kernel/net/mac80211/mac80211.ko
or simply:
softdog.ko
cfg80211.ko
mac80211.ko
or ultimately:
softdog
cfg80211
mac80211
Either way, the newly generated modules.load file will now only
contain the module name without the extension, which is inline with
modules.alias and modules.blocklist.
Change-Id: I969274f7edf249c98ca241e37b6e41a921d36908
Before:
mka bootimage
qcacld failed to compile, but boot.img is generated
After:
mka bootimage
qcacld failed to compile and no boot.img is generated
Commit fadfdbf introduced the idea of building external modules,
but it didn't account for the scenario where compilation could fail
while the boot.img is still being built.
Fix this by properly stopping the build process as soon as the external
module fails to compile.
Change-Id: Ifed28825f8e4b78d304fe62a47908e208edfb886
Commit 47931c1 introduced GKI modules handling with the assumption
that using BOARD_SYSTEM_KERNEL_MODULES would still work in Android 14,
but turns out that it conflicts with build/make/core rules.
Change-Id: I9167940c08b8420be254c52698f1faa2e3e7f793
* This was missed in bdfc913935
* Aligns the variable name for vendor_kernel_boot modules with AOSP
Change-Id: I8d59f7b5d62e29a0484ca36fadcb74acab4f1859
This fixes the following warnings:
13:04:54 Disallowed PATH tool "pahole" used: []string{"pahole", "--version"}
13:04:54 See https://android.googlesource.com/platform/build/+/master/Changes.md#PATH_Tools for more information.
"pahole" is not allowed to be used. See https://android.googlesource.com/platform/build/+/master/Changes.md#PATH_Tools for more information.
/home/bgcngm/android/lineage/kernel/oneplus/sm8550/scripts/pahole-flags.sh: 12: [: Illegal number:
/home/bgcngm/android/lineage/kernel/oneplus/sm8550/scripts/pahole-flags.sh: 16: [: Illegal number:
/home/bgcngm/android/lineage/kernel/oneplus/sm8550/scripts/pahole-flags.sh: 20: [: Illegal number:
Change-Id: Ice2a3753301a7b7782037fd35544e2831b258650
On some devices too many .dtb files are generated. Instead of taking
all of them, allow to only take selected .dtb files for the final
DTB image.
Example: Motorola Edge 40 Pro (rtwo, sm8550) generates the following:
obj/DTB_OBJ/out/kaka-rumi.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-evb1-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-evt1-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-na-vzw-evt2-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-prc-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-prc-pvt-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-row-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-evb1-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-evt1-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-na-vzw-evt2-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-prc-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-prc-pvt-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-row-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base.dtb
with only kalama-rtwo-base.dtb and kalama-v2-rtwo-base.dtb needed.
Disabling compilation of the other kalama.dtb isn't possible, as this
would also disable the compilation of the needed .dtbo files.
Because they are earlier in alphabetical order, and the matching
board ids, the bootloader ends up selecting those, instead of the
correct ones. This results in USB (and possible other things) to
not work.
Change-Id: I486b6ec538a3e4906b5b8aa5ecb355b480b60de7
It can be the case where OEM/ODM decided to put the main DTBOs
outside vendor/qcom (e.g. vendor/oplus). Support such usecase
by generically allowing all .dtbo files found in all first-level
subdirs to be moved to base DTB folder.
Change-Id: I154d401b560535d1fa8cd7ed4965dd34a4cf75f2
All devices lauching with Android 13 (and above) must include
a system_dlkm partition, where GKI modules should reside.
Android 13 build system only supports providing prebuilt modules,
by pointing BOARD_SYSTEM_DLKM_SRC to the modules source folder.
Google will introduce BOARD_SYSTEM_KERNEL_MODULES for Android 14,
so take a step forward and use that macro to exclude the listed
modules from the usual vendor DLKM partition and place them into
the GKI module partition.
Note that the GKI modules are placed into lib/modules/androidX-Y.Z,
as defined by Google and observed in system_dlkm_modprobe script.
Change-Id: I2b1644479788cb5c9568cac738202b1d55fc28d7
The gralloc struct has been conditionally adjusted not to
break blobs that use the old struct.
So far only GRALLOC_HANDLE_HAS_RESERVED_SIZE was hooked up
for Google Pixels, but it's now time to hook up the remaining flag.
Change-Id: I175bd328bd9733b9487e349f7a8486f15ef0a450
This appends `--version_code=$(date -u +%Y%m%d)` to aapt flags, which is
useful for flushing some caches upon system updates.
Change-Id: I6575b878f09c1c3138e12abc34d39405f51245e7
To specify the charging control allowed modes:
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_{BYPASS,DEADLINE,TOGGLE},
To specify the charging control paths:
TARGET_HEALTH_CHARGING_CONTROL_{CHARGING_PATH,DEADLINE_PATH},
To specify data written to TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH:
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_{ENABLE,DISABLE}
Change-Id: I88831c84966f82648c8ca60de5abb34416140f6c
Adapt function for .gitupstream so we always get the correct
remote without needing to calculate the path manually.
Test: Run `aospremote` in `kernel/configs` repository.
Change-Id: Idcac37ded4a5b2d62d26dc01dd7d68039def6220
Gets rid of the following from clang -v:
```
Found HIP installation: /opt/rocm, version 5.4.22804
```
Change-Id: Ic58b3fb2dd67d345372bec7f5d2cf023ed2fb34d
The kernel tries to define the LINUX_COMPILER macro from the output
of `$(CC) -v | grep ' version '`, but in clang that might produce
more than one line containing ' version ' when CUDA is installed:
```
Android (8490178, based on r450784d) clang version 14.0.6
Found CUDA installation: /usr/local/cuda, version 11.0
```
That causes the macro to expand into multiple lines, upsetting the
compiler that cannot find the ending double quote.
In upstream linux this is fixed from v5.8
Change-Id: Icde4253e989df1cbbefc0ce98f437d16822fc93b
android11-5.4 kernel can fully compile with LLVM with a few cherrypicks
from android12-5.4 and android12-5.10
Change-Id: Ib71935d284ad78f1c23d039c15bfc5e0314a19eb
* Recursively extend the fallback branches mechanism to any
layer of dependencies.
* Instead of forcing a dependency to use the fallback branch,
check for each repository if the current one is available.
* Always write the revision in the manifest entry
Change-Id: I37a4aa094de51e9f58e72851f3bc9dc4767dd79b