Kernel for Galaxy S24, rebased on CLO sources (WIP)
Go to file
John Moon 1312198e53 ANDROID: build: Replace genrules with write_file where possible
Currently, there are a few places where we use Bazel's native genrule
rule to generate files that consist of simple strings (usually with
cat << EOF or echo "str" >> "$@" semantics). It was recently pointed
out to us that the Skylib library (already available from Kleaf) has
a "write_file" rule which is better than our genrule method for
creating files from strings.

It's better because it has a simpler interface, does not rely on any
Starlark-external tools (i.e. bash), and does not require all of the
strings to be formatted in one operation which makes the rule
slightly more readable.

Replace file-creating genrules where it makes sense to do so. This
change has no impact on actual build logic as the output files are
logically identical.

Change-Id: I2cef369e299d42b2677ddea833c43d9c80eff32c
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
2023-08-01 09:41:05 -07:00
android Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (8823053) into qcom-6.1 2023-07-09 23:53:47 -07:00
arch Merge "defconfig: gen4auto: Add CONFIG support for KRETPROBES" 2023-07-31 07:04:38 -07:00
block Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
certs Merge keystone/android14-6.1-keystone-qcom-release.6.1.11 (b28061a) into msm-pineapple 2023-02-21 23:31:55 -08:00
crypto Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
Documentation Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
drivers Merge "mmc: sdhci_msm: Add ipc logging to sdhci_msm" 2023-07-31 07:04:38 -07:00
fs Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
include Merge "drivers: soc: qcom_stats: Export function qcom_stats_ddr_freqsync_msg()" 2023-07-31 07:04:37 -07:00
init Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (a0290fa) into qcom-6.1 2023-06-08 00:45:30 -07:00
io_uring io_uring: fix memory leak when removing provided buffers 2023-04-13 16:55:31 +02:00
ipc ipc: fix memory leak in init_mqueue_fs() 2022-12-31 13:32:01 +01:00
kernel sched/walt: Adjust cpu clusters for mid cap CPUs 2023-07-28 10:01:50 -07:00
lib Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
LICENSES
mm Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (8823053) into qcom-6.1 2023-07-09 23:53:47 -07:00
net Merge "Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (8823053) into qcom-6.1" 2023-07-24 15:19:33 -07:00
rust rust: kernel: Mark rust_fmt_argument as extern "C" 2023-04-26 14:28:38 +02:00
samples Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
scripts scripts/check-uapi.sh: Add improvements/fixes suggested upsteam 2023-07-07 08:30:32 -07:00
security UPSTREAM: mm: replace vma->vm_flags direct modifications with modifier calls 2023-06-07 14:24:57 +00:00
sound Merge "Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (8823053) into qcom-6.1" 2023-07-24 15:19:33 -07:00
tools Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
usr
virt KVM: Register /dev/kvm as the _very_ last thing during initialization 2023-03-10 09:34:11 +01:00
.clang-format inet: ping: use hlist_nulls rcu iterator during lookup 2022-12-01 12:42:46 +01:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore Merge keystone/android-mainline-keystone-qcom-release.6.1-rc5 (e9630af) into msm-pineapple 2022-12-10 23:51:29 -08:00
.mailmap 9 hotfixes. 6 for MM, 3 for other areas. Four of these patches address 2022-12-10 17:10:52 -08:00
.rustfmt.toml
allyes_images.bzl ANDROID: build: msm_kernel_le: Move the avb target from the dist target 2023-07-17 10:15:40 -07:00
Android.bp
autogvm_lxc.bzl ANDROID: build: Fix output directory layout 2023-07-22 20:40:11 -07:00
autogvm.bzl Merge "defconfig: Disable compilation of socinfo_dt drivers" 2023-07-12 06:44:50 -07:00
avb_boot_img.bzl ANDROID: build: Fix output directory layout 2023-07-22 20:40:11 -07:00
bazel.WORKSPACE
blair.bzl Merge "arm64: defconfig: Enable logbuf-vendor-hook for Blair" 2023-07-26 00:19:39 -07:00
build_with_bazel.py ANDROID: build: Drop --config=stamp 2023-07-27 14:10:05 -07:00
BUILD.bazel ANDROID: build: Fix output directory layout 2023-07-22 20:40:11 -07:00
build.config.aarch64 ANDROID: Move NDK_TRIPLE to build.config.constants. 2023-02-14 14:13:51 -08:00
build.config.allmodconfig ANDROID: Disable AF_RXRPC for allmodconfig. 2023-03-15 14:09:33 +00:00
build.config.allmodconfig.aarch64
build.config.allmodconfig.arm
build.config.allmodconfig.x86_64
build.config.allyesconfig build.config: Add build config support for allyesconfig 2023-01-10 15:06:25 -08:00
build.config.amlogic ANDROID: Unnest MAKE_GOALS from build configs 2023-05-02 13:37:21 +00:00
build.config.arm ANDROID: kleaf: move NDK_TRIPLE for arm to build.config.constants. 2023-05-09 22:36:11 +00:00
build.config.common Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
build.config.constants ANDROID: clang: update to 17.0.2 2023-05-15 18:53:36 +00:00
build.config.db845c ANDROID: db845c: Remove MAKE_GOALS from build.config 2023-05-15 07:01:39 +00:00
build.config.gki ANDROID: GKI: Source GKI_BUILD_CONFIG_FRAGMENT after setting all variables 2022-12-27 13:52:08 -08:00
build.config.gki_consolidate.aarch64 ANDROID: bazel: add GKI consolidate Bazel build 2023-02-01 18:44:25 -08:00
build.config.gki_kasan
build.config.gki_kasan.aarch64
build.config.gki_kasan.x86_64
build.config.gki_kprobes
build.config.gki_kprobes.aarch64
build.config.gki_kprobes.x86_64
build.config.gki-debug.aarch64
build.config.gki-debug.x86_64
build.config.gki.aarch64 ANDROID: GKI: Remove MAKE_GOALS from build.config 2023-05-10 17:05:37 +00:00
build.config.gki.aarch64.16k
build.config.gki.aarch64.fips140 ANDROID: fips140: add kernel crypto module 2023-01-09 21:33:43 +00:00
build.config.gki.riscv64 ANDROID: GKI: Remove MAKE_GOALS from build.config 2023-05-10 17:05:37 +00:00
build.config.gki.x86_64 ANDROID: GKI: Source GKI_BUILD_CONFIG_FRAGMENT after setting all variables 2022-12-27 13:52:08 -08:00
build.config.khwasan
build.config.msm.auto build: Initial bazel support for gen4auto targets 2023-05-04 04:43:23 -07:00
build.config.msm.autogvm build: Add support to build autogvm target 2023-04-06 22:24:21 -07:00
build.config.msm.blair build config: add build files for Blair 2023-04-07 11:45:28 +08:00
build.config.msm.common build.config.msm.common: Remove BRANCH modifications 2023-05-11 13:04:55 -07:00
build.config.msm.gen3auto build: Add support to build gen3auto targets 2023-04-08 23:05:14 +05:30
build.config.msm.gen4auto build: Initial bazel support for gen4auto targets 2023-05-04 04:43:23 -07:00
build.config.msm.gki
build.config.msm.kalama
build.config.msm.kalama.oemvm
build.config.msm.kalama.tuivm
build.config.msm.kalama.vm
build.config.msm.pineapple
build.config.msm.pineapple.allyes build.config.msm.pineapple.allyes: Add build config for pineapple with allyesconfigs 2023-01-12 10:53:43 -08:00
build.config.msm.pineapple.oemvm
build.config.msm.pineapple.tuivm
build.config.msm.pineapple.vm build: Add support for CPIO cmdline support 2023-03-19 19:18:56 -07:00
build.config.msm.sdmsteppeauto bazel: bazel build system for SA6155 2023-06-15 00:47:12 -07:00
build.config.msm.vm ANDROID: build: Set module signing keys in VM config 2023-03-02 09:42:17 -08:00
build.config.riscv64 ANDROID: GKI: Add 64-bit RISC-V config 2022-12-08 20:01:15 +00:00
build.config.rockpi4 ANDROID: db845c: Remove MAKE_GOALS from build.config 2023-05-15 07:01:39 +00:00
build.config.x86_64 ANDROID: Move NDK_TRIPLE to build.config.constants. 2023-02-14 14:13:51 -08:00
BUILD.dtc ANDROID: build: Set DTC target compatibility 2023-03-27 14:06:58 -07:00
build.targets bazel: bazel build system for SA6155 2023-06-15 00:47:12 -07:00
consolidate.bzl ANDROID: bazel: Adding make_goals to consolidate build 2023-05-25 09:16:43 -07:00
COPYING
CREDITS
files_gki_aarch64.txt Merge keystone/android14-6.1-keystone-qcom-release.6.1.22 (cc425b8) into msm-pineapple 2023-04-25 19:46:05 -07:00
gen3auto.bzl phy: qcom: Add UFS PHY driver snapshot for monaco_auto 2023-07-17 11:34:40 +05:30
gen4auto_lxc.bzl ANDROID: build: Fix output directory layout 2023-07-22 20:40:11 -07:00
image_opts.bzl ANDROID: build: Pass variant-specific bootconfig params to vendor 2023-06-20 18:54:18 -07:00
kalama_oemvm.bzl ANDROID: Enable oemvm builds in Bazel 2022-12-19 09:40:20 -08:00
kalama_tuivm.bzl
kalama.bzl phy: qcom: Add UFS PHY driver snapshot for monaco_auto 2023-07-17 11:34:40 +05:30
Kbuild
Kconfig
Kconfig.ext
MAINTAINERS ANDROID: Revert "mm: remove cleancache" 2023-04-26 17:01:50 +00:00
Makefile Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (a0290fa) into qcom-6.1 2023-06-08 00:45:30 -07:00
modules.bzl ANDROID: set CONFIG_IKHEADERS=m for gki_defconfig. 2023-06-12 08:25:19 +00:00
modules.list.msm.autogvm ANDROID: Update autogvm module output list 2023-06-14 08:17:27 +05:30
modules.list.msm.blair Merge "modules.list.msm.blair: Add GIC Interrupt Routing driver" 2023-07-25 20:19:37 -07:00
modules.list.msm.gen3auto Merge "modules.list.msm.gen3auto: Add FBE drivers for Android U" 2023-05-25 19:47:17 -07:00
modules.list.msm.kalama shmbridge: Force use of SELF_OWNER_BIT 2023-02-28 11:54:26 -08:00
modules.list.msm.pineapple Merge "module.list: Add qnoc-cliffs driver to module list for CLIFFS" 2023-07-19 09:34:43 -07:00
modules.list.msm.sdmsteppeauto modules.list.msm.sdmsteppeauto: Add debug-symbol module 2023-06-19 17:47:07 +05:30
modules.systemdlkm_blocklist.msm.autogvm bazel: Add support to build autogvm 2023-04-05 12:56:46 +05:30
modules.systemdlkm_blocklist.msm.blair ANDROID: Enable Blair build in bazel 2023-04-07 11:47:41 +08:00
modules.systemdlkm_blocklist.msm.gen3auto bazel: Add support to build gen3auto 2023-03-28 21:04:43 -07:00
modules.systemdlkm_blocklist.msm.kalama build: Add systemdlkm blocklist for kalama 2023-01-05 14:49:36 -08:00
modules.systemdlkm_blocklist.msm.pineapple
modules.systemdlkm_blocklist.msm.sdmsteppeauto bazel: bazel build system for SA6155 2023-06-15 00:47:12 -07:00
modules.vendor_blocklist.msm.autogvm bazel: Add support to build autogvm 2023-04-05 12:56:46 +05:30
modules.vendor_blocklist.msm.blair modules.blocklist: Add modules blacklist for Blair 2023-06-01 14:47:11 +08:00
modules.vendor_blocklist.msm.gen3auto bazel: Add support to build gen3auto 2023-03-28 21:04:43 -07:00
modules.vendor_blocklist.msm.kalama treewide: fix copyrights 2023-01-06 13:10:31 -08:00
modules.vendor_blocklist.msm.pineapple modules.blocklist: Blocklist ipclite_test module 2023-07-10 15:50:47 +05:30
modules.vendor_blocklist.msm.sdmsteppeauto bazel: bazel build system for SA6155 2023-06-15 00:47:12 -07:00
msm_abl.bzl build: Stop ABL compilation for autogvm targets 2023-04-06 13:03:35 +05:30
msm_common.bzl ANDROID: build: Replace genrules with write_file where possible 2023-08-01 09:41:05 -07:00
msm_dtc.bzl build: Unify output directory format 2023-01-18 17:14:58 -08:00
msm_kernel_extensions.bzl ANDROID: build: Fix output directory layout 2023-07-22 20:40:11 -07:00
msm_kernel_la.bzl ANDROID: build: Replace genrules with write_file where possible 2023-08-01 09:41:05 -07:00
msm_kernel_le.bzl ANDROID: build: Replace genrules with write_file where possible 2023-08-01 09:41:05 -07:00
msm_kernel_lxc.bzl ANDROID: build: Replace genrules with write_file where possible 2023-08-01 09:41:05 -07:00
msm_kernel_vm.bzl ANDROID: build: Replace genrules with write_file where possible 2023-08-01 09:41:05 -07:00
msm_platforms.bzl bazel: bazel build system for SA6155 2023-06-15 00:47:12 -07:00
OWNERS Revert "Merge remote-tracking branch into HEAD" 2023-06-20 20:55:25 +00:00
OWNERS_DrNo
pineapple_allyes.bzl ANDROID: build: Fix output directory layout 2023-07-22 20:40:11 -07:00
pineapple_oemvm.bzl ANDROID: Enable oemvm builds in Bazel 2022-12-19 09:40:20 -08:00
pineapple_tuivm.bzl
pineapple_vms.bzl ANDROID: build: Replace the combine vms rule with getter 2023-03-02 10:35:13 -08:00
pineapple.bzl Merge "qseecom_proxy: Add qseecom_proxy entry to GKI config" 2023-07-31 07:04:38 -07:00
README
README.md
sdmsteppeauto.bzl defconfig: steppeauto: Add support for BWMON for SM6150 2023-07-19 19:43:44 -07:00
super_image.bzl
target_variants.bzl bazel: bazel build system for SA6155 2023-06-15 00:47:12 -07:00

How do I submit patches to Android Common Kernels

  1. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.

    • Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux, additions of EXPORT_SYMBOL_GPL() require an in-tree modular driver that uses the symbol -- so include the new driver or changes to an existing driver in the same patchset as the export.
    • When sending patches upstream, the commit message must contain a clear case for why the patch is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not not a persuasive case.
  2. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with kernel-team@android.com. If you want to proceed, post a patch that conforms to the patch requirements below.

Common Kernel patch requirements

  • All patches must conform to the Linux kernel coding standards and pass scripts/checkpatch.pl
  • Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
  • If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch: UPSTREAM:, BACKPORT:, FROMGIT:, FROMLIST:, or ANDROID:.
  • All patches must have a Change-Id: tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
  • If an Android bug has been assigned, there must be a Bug: tag.
  • All patches must have a Signed-off-by: tag by the author and the submitter

Additional requirements are listed below based on patch type

Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:

  • If the patch is a cherry-pick from Linux mainline with no changes at all
    • tag the patch subject with UPSTREAM:.
    • add upstream commit information with a (cherry picked from commit ...) line
    • Example:
      • if the upstream commit message is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
  • then Joe Smith would upload the patch for the common kernel as
        UPSTREAM: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch requires any changes from the upstream version, tag the patch with BACKPORT: instead of UPSTREAM:.
    • use the same tags as UPSTREAM:
    • add comments about the changes under the (cherry picked from commit ...) line
    • Example:
        BACKPORT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [joe: Resolved minor conflict in drivers/foo/bar.c ]
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for other backports: FROMGIT:, FROMLIST:,

  • If the patch has been merged into an upstream maintainer tree, but has not yet been merged into Linux mainline
    • tag the patch subject with FROMGIT:
    • add info on where the patch came from as (cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't use linux-next for example).
    • if changes were required, use BACKPORT: FROMGIT:
    • Example:
      • if the commit message in the maintainer tree is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
  • then Joe Smith would upload the patch for the common kernel as
        FROMGIT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
         https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch has been submitted to LKML, but not accepted into any maintainer tree
    • tag the patch subject with FROMLIST:
    • add a Link: tag with a link to the submittal on lore.kernel.org
    • add a Bug: tag with the Android bug (required for patches not accepted into a maintainer tree)
    • if changes were required, use BACKPORT: FROMLIST:
    • Example:
        FROMLIST: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for Android-specific patches: ANDROID:

  • If the patch is fixing a bug to Android-specific code
    • tag the patch subject with ANDROID:
    • add a Fixes: tag that cites the patch with the bug
    • Example:
        ANDROID: fix android-specific bug in foobar.c

        This is the detailed description of the important fix

        Fixes: 1234abcd2468 ("foobar: add cool feature")
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch is a new feature
    • tag the patch subject with ANDROID:
    • add a Bug: tag with the Android bug (required for android-specific features)