Commit Graph

614 Commits

Author SHA1 Message Date
dianlujitao
c0fb88f19e repopick: Organize imports and format with black
Change-Id: I94080fb8adba0af83d86f0c67af8fac460ffbea0
2024-02-06 09:39:58 +00:00
dianlujitao
94b1026f1a repopick: Remove python2 support
Change-Id: I8f164eea3a17888bcf30ff649ddcf81a00bab582
2024-02-06 09:39:58 +00:00
LuK1337
b38fb3a2d2 kernel: Make INTERNAL_VENDOR_RAMDISK_TARGET depend on kernel
This lets us package kernel modules into recovery ramdisk inside
vendor_boot.

Change-Id: I274bc95ce8682e2f13a595174ab279c129866f6a
2023-12-24 21:08:16 +00:00
Bruno Martins
682dd6b689 kernel: Ensure that module load lists are properly formed
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
2023-12-14 22:45:39 +00:00
LuK1337
c0250e3ab6 build: Add macro for sha1 checked add-radio-file
This makes it slightly safer in case radio/*.img contains LFS pointer
instead of actual blob.

Change-Id: Ia3561400c62675eac9f717f7eae74e4cdf71cf45
2023-12-12 17:32:49 +00:00
Arian
e7dac6855d soong: Add qti vibrator effect stream config
Change-Id: I87b08a02f91a941d22dab5d1acb9bfbbce06f03b
2023-11-21 20:48:36 +02:00
pppig236
f46d0a7a08 kernel: Halt build process if an external module fails to compile
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
2023-10-29 14:27:00 +00:00
Bruno Martins
e655a1e696 kernel: Replace BOARD_SYSTEM_KERNEL_MODULES with SYSTEM_KERNEL_MODULES
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
2023-10-28 12:37:43 +01:00
Bruno Martins
4fb9a76f06 lineage: Move all QCOM board configs to hardware/qcom-caf/common
Change-Id: I6ead35cf884255a8897a3e3e27fc7936d11be616
2023-10-27 14:25:29 +01:00
Michael Bestas
c290ff3f38 Hookup GRALLOC_HANDLE_HAS_UBWCP_FORMAT
The gralloc struct has been conditionally adjusted not to
break blobs that use the old struct.

Change-Id: I4dd1d1890ad08364d5315386ab830ce9e0edd041
2023-10-20 12:57:46 +00:00
basamaryan
db93a8d621 kernel: Rename mkdtboimg.py
* Changed in https://android-review.googlesource.com/q/topic:%22colefaust_rename_mkdtboimg%22

Change-Id: Idd2ade7035c79207321ecbc70d6a4ddf9f4ed600
2023-10-20 09:55:48 +01:00
Paul Keith
6b8c2baf9f lineage: s/master/main/
Change-Id: Ia922dd6b396627fea2c8e69f8a7d6bf025b80f7e
2023-10-18 11:57:14 -05:00
Tim Zimmermann
84b975ca23 kernel: Use correct variable name for vendor_kernel_boot modules
* This was missed in bdfc913935
* Aligns the variable name for vendor_kernel_boot modules with AOSP

Change-Id: I8d59f7b5d62e29a0484ca36fadcb74acab4f1859
2023-10-16 16:17:09 +03:00
Rohit Sekhar
fea85da7e0 vendor/lineage: Hookup TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED
Change-Id: I67b87e98b65300df9a63ddd6d316ae4dd33ab427
2023-10-09 17:29:04 +00:00
HeroBuxx
147545ac48 qcom: Add parrot platform
Change-Id: I86a34553c71688c1bb8b8583b161e59cffbfd623
Signed-off-by: HeroBuxx <me@herobuxx.me>
2023-09-26 20:33:22 +00:00
LuK1337
0ddf65dc8d repopick: Fix regex related SyntaxWarning on Python 3.12
Change-Id: I23f80997f34a158d564a2e41043242a5af9f2ac3
2023-09-20 20:29:28 +02:00
Bruno Martins
231338af58 kernel: Use pahole from Google prebuilts
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
2023-09-19 16:17:27 +01:00
SGCMarkus
2a0d417971 kernel: Allow to limit the used .dtb files for the final DTB image
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
2023-09-17 17:53:24 +00:00
Bruno Martins
3056928d1c kernel: Include DTBOs from OEM/ODM folder in base DTB
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
2023-09-17 17:53:24 +00:00
Bruno Martins
47931c121e kernel: Handle GKI modules
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
2023-09-17 17:53:24 +00:00
Aaron Kling
3ade73b639 kernel: Support copying modules to recovery
Change-Id: Iac275cfbea368d47f9cc8e756649ab094d9c57c5
2023-08-28 16:23:03 +00:00
Aaron Kling
0d1608e30f kernel: Support Qualcomm merge_dtbs script
Script from clo kernel/build at kernel.lnx.5.10.r1-rel

Change-Id: Ia90975c895644b86d9f861ddd5a18b7cf6ce1470
2023-08-28 19:15:02 +03:00
Bruno Martins
c3dda454e3 Hookup GRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE
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
2023-07-25 18:14:17 +02:00
Bruno Martins
8bbb7d90b6 qcom: Add support for kalama platform
Change-Id: I393c3c1ca398b5b34d7b9d8a76ccdf8af329957c
2023-07-25 18:14:17 +02:00
LuK1337
0b81f4020e soong: Add aapt_version_code default
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
2023-06-22 20:06:00 +02:00
Luofan Chen
2decc6661e soong: Add TARGET_HEALTH_CHARGING_CONTROL related configs
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
2023-06-09 18:06:47 +02:00
Chirayu Desai
11eaeaf039 repopick: Don't ignore change status for query mode (-Q)
* Why not just use force with it if you really want to
  pick abandoned changes?
* Avoids surprises

Change-Id: I7420e1c37cc127d1f74539d5685bd9bf77be44c3
2023-05-27 05:15:30 +05:30
DroidFreak32
d7fa6a32e2 lineage: Fix SDK Addon build on x86/x86_64 targets
- Fixes the following build error:

100% 1/1] analyzing Android.bp files and generating ninja file at ou
FAILED: out/soong/build.ninja
cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i  "$BUILDER"     --top "$TOP"     --soong_out "out/soong"     --out "out"     -o out/soong/build.ninja --globListDir build --globFile out/soong/globs-build.ninja -t -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.build Android.bp
error: packages/modules/RuntimeI18n/apex/Android.bp:67:1: dependency "art-bootclasspath-fragment" of "i18n-bootclasspath-fragment" missing variant:
  apex:com.android.art
available variants:
  os:android,arch:common
error: packages/modules/RuntimeI18n/apex/Android.bp:67:1: dependency "prebuilt_art-bootclasspath-fragment" of "i18n-bootclasspath-fragment" missing variant:
  apex:com.android.art
available variants:
  os:android,arch:common
15:24:42 soong bootstrap failed with: exit status 1

 #### failed to build some targets (19 seconds) ####

Change-Id: Iff5aa79b4148f83680bc33bdd0ea9751038feea1
2023-05-03 22:08:40 +02:00
LuK1337
d0612f5768 roomservice: Read all local manifests
Change-Id: Idfe6330ff82b9e4c0d11cb0320defa7bf44121f5
2023-04-22 21:26:19 +02:00
Michael Bestas
83fbf7dc32 envsetup: aospremote: Take .gitupstream into account
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
2023-04-17 19:29:41 +03:00
Nolen Johnson
1a6d8417b0 soong: Bring bootloader_message_offset back
This is squashed revert of:

    Revert "config: Remove BOOTLOADER_MESSAGE_OFFSET"

    This reverts commit a8bbd0e4aa.

    Change-Id: I66df34e901e87e543102377469a150a9bf03e5b8

    Revert "Revert "soong: Export bootloader_message_offset to dependencies""

    This reverts commit d0b4f9894a.

    Reason for revert: Bringing this back, LGE 8996 lives.

    Change-Id: Iae68fee53ba647d8c64c54388e7296232adf4db8

Change-Id: I358d8e19f2d4da590c9579c1473b5f1964bb71aa
2023-04-08 21:55:24 +02:00
LuK1337
7395c7f50e roomservice: Use mirror manifest instead of search API
Change-Id: Ifc64e42e1d443f36033756a6247a9f253b1ab82d
2023-03-04 13:19:33 +01:00
dianlujitao
62c1374385 kernel: Check HIP support of clang before disabling it
Old clang releases don't support --hip-path, so passing this flag will
break the build.

Change-Id: If36defb0e74893581849700fb67e6aa4617908a8
2023-03-02 20:43:04 +08:00
dianlujitao
ef68678120 kernel: Force disable LLVM HIP
Gets rid of the following from clang -v:

```
Found HIP installation: /opt/rocm, version 5.4.22804
```

Change-Id: Ic58b3fb2dd67d345372bec7f5d2cf023ed2fb34d
2023-03-01 23:07:23 +08:00
Arian
27409112ff qcom: Add taro platform
Change-Id: I96e3bbccc306817986c6f039a57fd1daa94e7f2d
2023-02-10 01:37:12 +02:00
Alessandro Astone
ba14020f85 kernel: Force disable LLVM CUDA
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
2023-01-22 19:51:39 +01:00
Michael Bestas
41abb0b970 kernel: Allow devices to opt-in for full LLVM build
android11-5.4 kernel can fully compile with LLVM with a few cherrypicks
from android12-5.4 and android12-5.10

Change-Id: Ib71935d284ad78f1c23d039c15bfc5e0314a19eb
2022-11-14 19:20:23 +02:00
Michael Bestas
bdfc913935 kernel: Support copying modules to vendor_kernel_boot
Test: Build gs201 with source built kernel/modules, boot.
Change-Id: Ie66400ddd44cfd249e1b4710f4d1c4efa32389a4
2022-11-04 02:12:55 +02:00
Michael Bestas
be4730a53e kernel: Remove TARGET_KERNEL_MODULES error
This has been an error for 3 years now, plus it has not been functional
for even more years.

Change-Id: I8b12e8d08847ba119d2904f90766105367025d9c
2022-11-01 17:15:13 +02:00
Michael Bestas
2adf74c191 kernel: Only add GCC to PATH when using GNU binutils
Change-Id: Ia842ed409145a81a92077dde5d6e9749a057f047
2022-11-01 17:15:13 +02:00
Michael Bestas
19c16dff32 kernel: Override LD_LIBRARY_PATH only on <5.10
5.10 doesn't need LD_LIBRARY_PATH set

Change-Id: I5f6e732610f947d50b47e238d6a42365396b18ad
2022-11-01 15:55:19 +02:00
Michael Bestas
69e7a49d95 kernel: Fix clang version override
Change-Id: I18fceeeeab5426f55a73d0cb8d72abd5f40c67ec
2022-11-01 15:55:18 +02:00
Michael Bestas
ed8e192818 config: Remove TARGET_CAMERA_BOOTTIME_TIMESTAMP
This is no longer needed in T

Change-Id: Id14c88a548c14a8c26858a13f262f355ba72745e
2022-10-23 03:14:52 +02:00
Aaron Kling
50de801adf kernel: Add support for custom dtbimage generation rules
Change-Id: I79d67f9f40ef3f0970d0e29393d00600b57e337b
2022-10-18 00:59:46 +02:00
Alessandro Astone
39392c99e1 roomservice: Try major-only revision if default doesn't exist
Change-Id: I91c18a1711e0d01b25e33b30bf0be9bbd443904e
2022-10-10 14:58:57 +02:00
Alessandro Astone
a4cbd27142 roomservice: Finer branch control for roomservice repositories
* 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
2022-10-10 14:58:57 +02:00
Tim Zimmermann
bcfa69d705 kernel: Support building dtbimage with mkdtboimg.py config
Change-Id: Ic0efbf0308e334c1cfe0df0493caa71afe27a621
2022-10-02 17:45:12 +02:00
Michael Bestas
0d450dd954 kernel: Changes for 5.10 build without GCC
Change-Id: Id6e09467937e60e6b00a30a246ba0a4a8d71687b
2022-10-01 00:46:45 +03:00
Michael Bestas
8ab31cfc01 kernel: add pahole dependency
This is needed for 5.10+ T kernel build.

Change-Id: I0729af39cad5509ea3bc8629fdf1176156be6c08
2022-09-28 22:03:50 +03:00
Chirayu Desai
404fb47daf fixup! Hookup GRALLOC_HANDLE_HAS_RESERVED_SIZE
Change-Id: Id12058a238c241acb138e3e419bb0bab8280e51b
2022-09-20 01:50:24 +05:30