Merge android14-5.15 into android14-5.15-lts

This catches up the android14-5.15-lts branch up with a lot of bugfixes
and ABI additions that were in the android14-5.15 branch.

This consists of the following commits:

* 95e030757716 BACKPORT: blk-crypto: dynamically allocate fallback profile
* c7860b4dbd3e UPSTREAM: media: usb: siano: Fix warning due to null work_func_t function pointer
* cb69585f727f UPSTREAM: Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
* 064fe2809f53 ANDROID: Delete build.config.gki.aarch64.16k.
* 5acbeb3895e1 FROMGIT: usb: typec: tcpm: Refactor the PPS APDO selection
* 90ad33eb0e21 ANDROID: GKI: Update symbol list for lenovo
* 844dfdef1c3b UPSTREAM: net: tap_open(): set sk_uid from current_fsuid()
* 7e0b682baf68 UPSTREAM: net: tun_chr_open(): set sk_uid from current_fsuid()
* 09eac0d3a80d UPSTREAM: usb: typec: tcpm: Fix response to vsafe0V event
* 8f1d7c685010 ANDROID: Update the ABI symbol list
* 54afed884d54 UPSTREAM: net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
* d6c1899f3323 UPSTREAM: net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free
* cb45423bcc54 UPSTREAM: net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
* 880189fdd2f1 UPSTREAM: netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
* 4c73cba07b12 ANDROID: usb: gadget: f_accessory: Mitgate handling of non-existent USB request
* eebccae50582 ANDROID: Update the ABI symbol list
* a845525d3ee5 FROMGIT: Multi-gen LRU: skip CMA pages when they are not eligible
* 4502265e1684 BACKPORT: mm: skip CMA pages when they are not available
* 53c38ebc4ea9 ANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree
* b88b3d3664d0 UPSTREAM: netfilter: nf_tables: skip bound chain on rule flush
* 6bcc6ff84152 UPSTREAM: tty: n_gsm: fix UAF in gsm_cleanup_mux
* b4a6c6f4a151 UPSTREAM: net/sched: sch_qfq: account for stab overhead in qfq_enqueue
* 1b2e6ebdc633 UPSTREAM: net/sched: sch_qfq: refactor parsing of netlink parameters
* 4128e2887832 UPSTREAM: netfilter: nft_set_pipapo: fix improper element removal
* 1122dd37115a ANDROID: Add checkpatch target.
* 056a17677de9 BACKPORT: FROMGIT: usb: typec: altmodes/displayport: Signal hpd when configuring pin assignment
* ee1147625d28 BACKPORT: USB: Gadget: core: Help prevent panic during UVC unconfigure
* 7ba2131ad49b FROMLIST: scsi: ufs: Disable zone write locking
* 4224108a41b4 FROMLIST: scsi: ufs: Split an if-condition
* 1c33b80bf748 FROMLIST: scsi: scsi_debug: Support injecting unaligned write errors
* 6c0276ef82d3 FROMLIST: scsi: scsi_debug: Support disabling zone write locking
* 3347f7daae3b FROMLIST: scsi: core: Retry unaligned zoned writes
* 4e1d1b839dec FROMLIST: block/mq-deadline: Only use zone locking if necessary
* 5414ea3f50ab BACKPORT: FROMLIST: block: Introduce the flag QUEUE_FLAG_NO_ZONE_WRITE_LOCK
* d01888a968b8 Revert "ANDROID: block: Introduce a request queue flag for pipelining zoned writes"
* 6a1ceeede7aa Revert "ANDROID: block/mq-deadline: Only use zone locking if necessary"
* dc77af3d3836 Revert "ANDROID: scsi: Retry unaligned zoned writes"
* 2e83e40f6af5 Revert "ANDROID: scsi: ufs: Enable zoned write pipelining"
* e08f97fe8041 Revert "ANDROID: scsi: ufs: Disable zoned write pipelining"
* a0565250b372 Revert "ANDROID: scsi: core: Delay unaligned write error retries"
* 053f022ed4e5 Revert "ANDROID: scsi: core: Limit zoned write retries"
* 8c7e6396da5a ANDROID: GKI: update mtktv symbol
* 7d47dd77f142 ANDROID: GKI: Add mtktv ABI symbol list, media, trace and remaining subsys
* 655a2881039f ANDROID: GKI: Add mtktv ABI symbol list, cpufreq and misc
* 663ca511e89b ANDROID: GKI: Add mtktv ABI symbol list, net, eth, regulator and pinmux
* 99c011c37d78 ANDROID: GKI: Add mtktv ABI symbol list, pwm, serial and snd
* b85af8a6dd9a ANDROID: GKI: Add mtktv ABI symbol list, usb and v4l2
* 0f986fae123c FROMGIT: BACKPORT: Multi-gen LRU: Fix can_swap in lru_gen_look_around()
* 12fb1c3ef509 FROMGIT: BACKPORT: Multi-gen LRU: Avoid race in inc_min_seq()
* bf03a7c90aef FROMGIT: BACKPORT: Multi-gen LRU: Fix per-zone reclaim
* 0c5273e138e6 BACKPORT: FROMGIT: block: Improve performance for BLK_MQ_F_BLOCKING drivers
* d12306bb9574 FROMGIT: scsi: Remove a blk_mq_run_hw_queues() call
* 8bb4682c76ff BACKPORT: FROMGIT: scsi: Inline scsi_kick_queue()
* 4bbc8e45b2a7 ANDROID: ABI: Update STG ABI to format version 2
* a9bc04930fdc ANDROID: GKI: usb: phy: use ANDROID_KABI_USE for api notify_port_status
* 7aa67c1a12ac FROMGIT: dt-bindings: phy: realtek: Add Realtek DHC RTD SoC USB 3.0 PHY
* d58cdad855de FROMGIT: dt-bindings: phy: realtek: Add Realtek DHC RTD SoC USB 2.0 PHY
* 6e97af079d79 FROMGIT: phy: realtek: usb: Add driver for the Realtek SoC USB 3.0 PHY
* 3dadac8ba6d6 FROMGIT: phy: realtek: usb: Add driver for the Realtek SoC USB 2.0 PHY
* a600af2c26af FROMGIT: usb: phy: add usb phy notify port status API
* 46ee6c3cddb1 ANDROID: GKI: Create symbol files in include/config
* 9c0a91f91af3 ANDROID: fuse-bpf: Use stored bpf for create_open
* 77092bb630f9 ANDROID: fuse-bpf: Add bpf to negative fuse_dentry
* fe475ca0b565 ANDROID: fuse-bpf: Check inode not null
* feb5ea668405 ANDROID: fuse-bpf: Fix flock test compile error
* 3c49a4916748 ANDROID: fuse-bpf: Add partial flock support
* 95e1c94a22e2 UPSTREAM: dm init: add dm-mod.waitfor to wait for asynchronously probed block devices
* 098173a46bca ANDROID: Update the ABI symbol list
* 619a5f635c8f ANDROID: cpuidle: teo: Export a function that allows modifying util_threshold
* d92dd7312f92 Revert "ANDROID: GKI: Remove temp build file abi_gki_protected_exports"
* 924b7017dda3 ANDROID: Update the ABI symbol list
* c82392dabd92 BACKPORT: blk-crypto: use dynamic lock class for blk_crypto_profile::lock
* 44cf75cc35a7 ANDROID: KVM: arm64: Fix memory ordering for pKVM module callbacks
* fddd85ce6342 ANDROID: GKI: Update symbol list for Amlogic
* f686a35a77f8 UPSTREAM: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
* 625e1470a97b UPSTREAM: netfilter: nf_tables: fix chain binding transaction logic
* de818a4efb6f UPSTREAM: fs/ntfs3: Check fields while reading
* 48fffa48b057 ANDROID: GKI: Move GKI module headers to generated includes
* c51761363cf4 ANDROID: set kmi_symbol_list_add_only for Kleaf builds.
* 1281598c5352 ANDROID: GKI: Remove temp build file abi_gki_protected_exports
* 48916f9971fa ANDROID: GKI: Update symbol list for Amlogic
* c2591e463d93 UPSTREAM: ASoC: soc-pcm: Move debugfs removal out of spinlock
* 4dc2398a951b UPSTREAM: ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks
* 1dd1248e12f9 FROMLIST: fuse: revalidate: don't invalidate if interrupted
* ef049b5a719a ANDROID: GKI: Update symbol list for Amlogic
* 88829ece3303 UPSTREAM: squashfs: always build "file direct" version of page actor
* 044746150d63 UPSTREAM: squashfs: fix cache race with migration
* f15bd09d1e7c BACKPORT: squashfs: cache partial compressed blocks
* 9d4be29185ee UPSTREAM: squashfs: fix buffer release race condition in readahead code
* 813c3dec2367 UPSTREAM: squashfs: fix extending readahead beyond end of file
* dec4ef3ce491 UPSTREAM: squashfs: fix read regression introduced in readahead code
* 80e656926e7f UPSTREAM: squashfs: don't call kmalloc in decompressors
* 401371c1744c UPSTREAM: squashfs: don't use intermediate buffer if pages missing
* c7f85bb4c43e UPSTREAM: squashfs: extend "page actor" to handle missing pages
* af51b9dded01 UPSTREAM: squashfs: support reading fragments in readahead call
* 3ba07deef718 UPSTREAM: squashfs: implement readahead
* feb80c37c66d UPSTREAM: gfs2: Don't deref jdesc in evict
* 578ffd64341e UPSTREAM: media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
* 9b30cd89af05 ANDROID: Incremental fs: Allocate data buffer based on input request size
* a6ab80794619 ANDROID: GKI: Update symbol list for Amlogic
* b4a6ab656691 ANDROID: KVM: arm64: Fix MMU context save/restore over TLB invalidation
* 770ba0ef6a9c ANDROID: Update the ABI symbol list
* 48d77946efc6 UPSTREAM: kasan: suppress recursive reports for HW_TAGS
* 47c669cde174 UPSTREAM: kasan, arm64: add arch_suppress_tag_checks_start/stop
* 03471b2b0353 BACKPORT: arm64: mte: rename TCO routines
* 867621cdc5c3 BACKPORT: kasan, arm64: rename tagging-related routines
* 4c8e131d55c4 UPSTREAM: kasan: drop empty tagging-related defines
* c6243581787f ANDROID: GKI: Update symbol list for Amlogic
* 0c09eb760b2e ANDROID: Update the ABI symbol list
* ca0cd3776158 UPSTREAM: usb: gadget: u_serial: Add null pointer check in gs_start_io
* b0992aa6722f ANDROID: Update the ABI symbol list
* fb6593baff19 ANDROID: ABI: Update lenovo symbol list
* 28c034155973 ANDROID: Update the ABI symbol list
* 40a4ec538ff1 UPSTREAM: fsverity: reject FS_IOC_ENABLE_VERITY on mode 3 fds
* 28d90f10d536 UPSTREAM: fsverity: explicitly check for buffer overflow in build_merkle_tree()
* d53de0568181 ANDROID: GKI: Update RTK STB KMI symbol list
* 0765cda32909 UPSTREAM: f2fs: fix deadlock in i_xattr_sem and inode page lock
* 38fff8f31263 Revert "FROMLIST: f2fs: remove i_xattr_sem to avoid deadlock and fix the original issue"
* 60a2ccabe2dd UPSTREAM: usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
* ebe7bbdffdec UPSTREAM: media: rkvdec: fix use after free bug in rkvdec_remove
* 4d634bb7be02 UPSTREAM: relayfs: fix out-of-bounds access in relay_file_read
* b8cb7eb0b4ce BACKPORT: revert "net: align SO_RCVMARK required privileges with SO_MARK"
* 9b4699724024 UPSTREAM: wifi: cfg80211: fix link del callback to call correct handler
* dc11ed25f7c7 UPSTREAM: wifi: cfg80211: reject bad AP MLD address
* 2e6bf292f395 UPSTREAM: KVM: arm64: Populate fault info for watchpoint
* c8a3a0849710 UPSTREAM: KVM: Fix vcpu_array[0] races
* d18fa8c525b0 UPSTREAM: media: pvrusb2: fix DVB_CORE dependency
* f4aace942a74 UPSTREAM: kasan: hw_tags: avoid invalid virt_to_page()
* 8f4b51c499a7 UPSTREAM: scsi: ufs: core: mcq: Fix &hwq->cq_lock deadlock issue
* 94fb13dc4f26 UPSTREAM: x86/mm: Avoid using set_pgd() outside of real PGD pages
* 759c5c3fc273 UPSTREAM: netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
* be89d165e361 UPSTREAM: net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
* 4ae6b40b7ca6 UPSTREAM: PCI/PM: Extend D3hot delay for NVIDIA HDA controllers
* 738dfcc029ef UPSTREAM: wifi: cfg80211: fix MLO connection ownership
* d0e0e85d34fe UPSTREAM: wifi: nl80211: fix NULL-ptr deref in offchan check
* 9e7678cc600c UPSTREAM: scsi: ufs: mcq: Use active_reqs to check busy in clock scaling
* 9d0d5eacda73 UPSTREAM: scsi: ufs: mcq: qcom: Clean the return path of ufs_qcom_mcq_config_resource()
* fa5c4a21862b UPSTREAM: scsi: ufs: mcq: qcom: Fix passing zero to PTR_ERR
* 63ab8dfd1746 UPSTREAM: scsi: ufs: mcq: Fix incorrectly set queue depth
* 6423bd5a4675 UPSTREAM: net: use a bounce buffer for copying skb->mark
* 656563759aba UPSTREAM: io_uring: hold uring mutex around poll removal
* 1f5a89e0ccaf ANDROID: Set arch attribute for allmodconfig builds
* ceb26af3199f ANDROID: KVM: arm64: Remove 'struct kvm_vcpu' from the KMI
* aad223db39ce UPSTREAM: KVM: arm64: Restore GICv2-on-GICv3 functionality
* 2c17fbc0d920 UPSTREAM: KVM: arm64: vgic: Wrap vgic_its_create() with config_lock
* ec0944c324e2 UPSTREAM: KVM: arm64: vgic: Fix a circular locking issue
* e4b31e748a0e UPSTREAM: KVM: arm64: vgic: Don't acquire its_lock before config_lock
* b7e1f97ef7b9 BACKPORT: KVM: arm64: Avoid lock inversion when setting the VM register width
* 0c5ec70ec3e7 UPSTREAM: KVM: arm64: Avoid vcpu->mutex v. kvm->lock inversion in CPU_ON
* 60266126b35b BACKPORT: KVM: arm64: Use config_lock to protect data ordered against KVM_RUN
* 1536afa2165d UPSTREAM: KVM: arm64: Use config_lock to protect vgic state
* 1d194af64a02 BACKPORT: KVM: arm64: Add helper vgic_write_guest_lock()
* 54b1b225ed34 UPSTREAM: ipvlan:Fix out-of-bounds caused by unclear skb->cb
* b31675307ef2 UPSTREAM: net/sched: cls_u32: Fix reference counter leak leading to overflow
* eda34db29b10 ANDROID: GKI: Update symbol list for Amlogic
* d8eb5e7ca9cd ANDROID: db845c: Fix build when using --kgdb
* d40f3254b64e FROMLIST: kheaders: dereferences the source tree
* 2ebd113814a7 FROMLIST: f2fs: remove i_xattr_sem to avoid deadlock and fix the original issue
* 258f11319bfe ANDROID: db845c: Local define for db845c targets
* 2af5c433335f ANDROID: Update the ABI symbol list
* 5af00d853135 ANDROID: Export cpu_push_stop
* 3c328a636a7e ANDROID: Update the ABI symbol list
* bdd2312e95c7 ANDROID: rockpi4: Fix build when using --kgdb
* d1601b50e65d ANDROID: kleaf: android/gki_system_dlkm_modules is generated.
* a7068670a71d ANDROID: fuse-bpf: Move FUSE_RELEASE to correct place
* ad201255029a ANDROID: fuse-bpf: Ensure bpf field can never be nulled
* bd30e9ff4158 ANDROID: Update the ABI symbol list
* 7a26ac9e26e2 ANDROID: Delete MODULES_LIST from build configs.
* 270b27a648e2 ANDROID: ABI: Update lenovo symbol list
* 0a9d005c81eb UPSTREAM: memstick: r592: Fix UAF bug in r592_remove due to race condition
* d465a446d254 UPSTREAM: xfs: verify buffer contents when we skip log replay

Change-Id: I56fc52175fbae29d6dea862b66a619b249e93e7c
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
diff --git a/BUILD.bazel b/BUILD.bazel
index 1d82ac72..6836432 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1,15 +1,19 @@
 # SPDX-License-Identifier: GPL-2.0
 # Copyright (C) 2021 The Android Open Source Project
+
+load("@bazel_skylib//rules:write_file.bzl", "write_file")
 load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
-load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels", "define_db845c")
+load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels")
 load(
     "//build/kernel/kleaf:kernel.bzl",
+    "checkpatch",
     "ddk_headers",
     "kernel_abi",
     "kernel_build",
     "kernel_images",
     "kernel_modules_install",
     "kernel_unstripped_modules_archive",
+    "merged_kernel_uapi_headers",
 )
 load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
 
@@ -31,6 +35,20 @@
     "modules",
 ]
 
+checkpatch(
+    name = "checkpatch",
+    checkpatch_pl = "scripts/checkpatch.pl",
+)
+
+write_file(
+    name = "gki_system_dlkm_modules",
+    out = "android/gki_system_dlkm_modules",
+    content = COMMON_GKI_MODULES_LIST + [
+        # Ensure new line at the end.
+        "",
+    ],
+)
+
 filegroup(
     name = "aarch64_additional_kmi_symbol_lists",
     srcs = [
@@ -40,6 +58,7 @@
         "android/abi_gki_aarch64_exynos",
         "android/abi_gki_aarch64_fips140",
         "android/abi_gki_aarch64_lenovo",
+        "android/abi_gki_aarch64_mtktv",
         "android/abi_gki_aarch64_oplus",
         "android/abi_gki_aarch64_pixel",
         "android/abi_gki_aarch64_rtkstb",
@@ -56,6 +75,7 @@
         "kmi_symbol_list_strict_mode": True,
         "module_implicit_outs": COMMON_GKI_MODULES_LIST,
         "kmi_symbol_list": "android/abi_gki_aarch64",
+        "kmi_symbol_list_add_only": True,
         "additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
         "protected_exports_list": "android/abi_gki_protected_exports_aarch64",
         "protected_modules_list": "android/gki_aarch64_protected_modules",
@@ -70,6 +90,7 @@
         "kmi_symbol_list_strict_mode": False,
         "module_implicit_outs": COMMON_GKI_MODULES_LIST,
         "kmi_symbol_list": "android/abi_gki_aarch64",
+        "kmi_symbol_list_add_only": True,
         "additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
         "protected_exports_list": "android/abi_gki_protected_exports_aarch64",
         "protected_modules_list": "android/gki_aarch64_protected_modules",
@@ -91,189 +112,340 @@
     },
 })
 
-define_db845c(
-    name = "db845c",
+_DB845C_MODULE_OUTS = [
+    # keep sorted
+    "crypto/michael_mic.ko",
+    "drivers/base/regmap/regmap-sdw.ko",
+    "drivers/base/regmap/regmap-slimbus.ko",
+    "drivers/bus/mhi/host/mhi.ko",
+    "drivers/clk/qcom/clk-qcom.ko",
+    "drivers/clk/qcom/clk-rpmh.ko",
+    "drivers/clk/qcom/clk-spmi-pmic-div.ko",
+    "drivers/clk/qcom/dispcc-sdm845.ko",
+    "drivers/clk/qcom/dispcc-sm8250.ko",
+    "drivers/clk/qcom/gcc-sdm845.ko",
+    "drivers/clk/qcom/gcc-sm8250.ko",
+    "drivers/clk/qcom/gpucc-sdm845.ko",
+    "drivers/clk/qcom/gpucc-sm8250.ko",
+    "drivers/clk/qcom/lpass-gfm-sm8250.ko",
+    "drivers/clk/qcom/videocc-sdm845.ko",
+    "drivers/clk/qcom/videocc-sm8250.ko",
+    "drivers/cpufreq/qcom-cpufreq-hw.ko",
+    "drivers/dma-buf/heaps/system_heap.ko",
+    "drivers/dma/qcom/bam_dma.ko",
+    "drivers/extcon/extcon-usb-gpio.ko",
+    "drivers/firmware/qcom-scm.ko",
+    "drivers/gpio/gpio-wcd934x.ko",
+    "drivers/gpu/drm/bridge/display-connector.ko",
+    "drivers/gpu/drm/bridge/lontium-lt9611.ko",
+    "drivers/gpu/drm/bridge/lontium-lt9611uxc.ko",
+    "drivers/gpu/drm/msm/msm.ko",
+    "drivers/gpu/drm/scheduler/gpu-sched.ko",
+    "drivers/hwspinlock/qcom_hwspinlock.ko",
+    "drivers/i2c/busses/i2c-designware-core.ko",
+    "drivers/i2c/busses/i2c-designware-platform.ko",
+    "drivers/i2c/busses/i2c-qcom-geni.ko",
+    "drivers/i2c/busses/i2c-qup.ko",
+    "drivers/i2c/busses/i2c-rk3x.ko",
+    "drivers/i2c/i2c-dev.ko",
+    "drivers/i2c/i2c-mux.ko",
+    "drivers/i2c/muxes/i2c-mux-pca954x.ko",
+    "drivers/iio/adc/qcom-spmi-adc5.ko",
+    "drivers/iio/adc/qcom-vadc-common.ko",
+    "drivers/input/misc/pm8941-pwrkey.ko",
+    "drivers/interconnect/qcom/icc-bcm-voter.ko",
+    "drivers/interconnect/qcom/icc-osm-l3.ko",
+    "drivers/interconnect/qcom/icc-rpmh.ko",
+    "drivers/interconnect/qcom/qnoc-sdm845.ko",
+    "drivers/interconnect/qcom/qnoc-sm8250.ko",
+    "drivers/iommu/arm/arm-smmu/arm_smmu.ko",
+    "drivers/irqchip/qcom-pdc.ko",
+    "drivers/leds/led-class-multicolor.ko",
+    "drivers/mailbox/qcom-apcs-ipc-mailbox.ko",
+    "drivers/mailbox/qcom-ipcc.ko",
+    "drivers/mfd/qcom-spmi-pmic.ko",
+    "drivers/mfd/wcd934x.ko",
+    "drivers/misc/fastrpc.ko",
+    "drivers/mmc/host/cqhci.ko",
+    "drivers/mmc/host/sdhci-msm.ko",
+    "drivers/net/can/spi/mcp251xfd/mcp251xfd.ko",
+    "drivers/net/wireless/ath/ath.ko",
+    "drivers/net/wireless/ath/ath10k/ath10k_core.ko",
+    "drivers/net/wireless/ath/ath10k/ath10k_pci.ko",
+    "drivers/net/wireless/ath/ath10k/ath10k_snoc.ko",
+    "drivers/net/wireless/ath/ath11k/ath11k.ko",
+    "drivers/net/wireless/ath/ath11k/ath11k_ahb.ko",
+    "drivers/net/wireless/ath/ath11k/ath11k_pci.ko",
+    "drivers/nvmem/nvmem_qfprom.ko",
+    "drivers/phy/qualcomm/phy-qcom-qmp.ko",
+    "drivers/phy/qualcomm/phy-qcom-qusb2.ko",
+    "drivers/phy/qualcomm/phy-qcom-snps-femto-v2.ko",
+    "drivers/phy/qualcomm/phy-qcom-usb-hs.ko",
+    "drivers/pinctrl/qcom/pinctrl-lpass-lpi.ko",
+    "drivers/pinctrl/qcom/pinctrl-msm.ko",
+    "drivers/pinctrl/qcom/pinctrl-sdm845.ko",
+    "drivers/pinctrl/qcom/pinctrl-sm8250.ko",
+    "drivers/pinctrl/qcom/pinctrl-spmi-gpio.ko",
+    "drivers/pinctrl/qcom/pinctrl-spmi-mpp.ko",
+    "drivers/power/reset/qcom-pon.ko",
+    "drivers/power/reset/reboot-mode.ko",
+    "drivers/power/reset/syscon-reboot-mode.ko",
+    "drivers/regulator/gpio-regulator.ko",
+    "drivers/regulator/qcom-rpmh-regulator.ko",
+    "drivers/regulator/qcom_spmi-regulator.ko",
+    "drivers/regulator/qcom_usb_vbus-regulator.ko",
+    "drivers/remoteproc/qcom_common.ko",
+    "drivers/remoteproc/qcom_pil_info.ko",
+    "drivers/remoteproc/qcom_q6v5.ko",
+    "drivers/remoteproc/qcom_q6v5_adsp.ko",
+    "drivers/remoteproc/qcom_q6v5_mss.ko",
+    "drivers/remoteproc/qcom_q6v5_pas.ko",
+    "drivers/remoteproc/qcom_q6v5_wcss.ko",
+    "drivers/remoteproc/qcom_sysmon.ko",
+    "drivers/reset/reset-qcom-aoss.ko",
+    "drivers/reset/reset-qcom-pdc.ko",
+    "drivers/rpmsg/qcom_glink.ko",
+    "drivers/rpmsg/qcom_glink_rpm.ko",
+    "drivers/rpmsg/qcom_glink_smem.ko",
+    "drivers/rpmsg/qcom_smd.ko",
+    "drivers/rpmsg/rpmsg_ns.ko",
+    "drivers/rtc/rtc-pm8xxx.ko",
+    "drivers/slimbus/slim-qcom-ngd-ctrl.ko",
+    "drivers/slimbus/slimbus.ko",
+    "drivers/soc/qcom/apr.ko",
+    "drivers/soc/qcom/cmd-db.ko",
+    "drivers/soc/qcom/llcc-qcom.ko",
+    "drivers/soc/qcom/mdt_loader.ko",
+    "drivers/soc/qcom/pdr_interface.ko",
+    "drivers/soc/qcom/qcom_aoss.ko",
+    "drivers/soc/qcom/qcom_rpmh.ko",
+    "drivers/soc/qcom/qmi_helpers.ko",
+    "drivers/soc/qcom/rmtfs_mem.ko",
+    "drivers/soc/qcom/rpmhpd.ko",
+    "drivers/soc/qcom/smem.ko",
+    "drivers/soc/qcom/smp2p.ko",
+    "drivers/soc/qcom/smsm.ko",
+    "drivers/soc/qcom/socinfo.ko",
+    "drivers/soundwire/soundwire-bus.ko",
+    "drivers/soundwire/soundwire-qcom.ko",
+    "drivers/spi/spi-geni-qcom.ko",
+    "drivers/spi/spi-pl022.ko",
+    "drivers/spi/spi-qcom-qspi.ko",
+    "drivers/spi/spi-qup.ko",
+    "drivers/spmi/spmi-pmic-arb.ko",
+    "drivers/thermal/qcom/lmh.ko",
+    "drivers/thermal/qcom/qcom-spmi-adc-tm5.ko",
+    "drivers/thermal/qcom/qcom-spmi-temp-alarm.ko",
+    "drivers/thermal/qcom/qcom_tsens.ko",
+    "drivers/tty/serial/msm_serial.ko",
+    "drivers/ufs/host/ufs_qcom.ko",
+    "drivers/usb/common/ulpi.ko",
+    "drivers/usb/host/ohci-hcd.ko",
+    "drivers/usb/host/ohci-pci.ko",
+    "drivers/usb/host/ohci-platform.ko",
+    "drivers/usb/typec/qcom-pmic-typec.ko",
+    "net/mac80211/mac80211.ko",
+    "net/qrtr/qrtr.ko",
+    "net/qrtr/qrtr-mhi.ko",
+    "net/qrtr/qrtr-smd.ko",
+    "net/qrtr/qrtr-tun.ko",
+    "net/wireless/cfg80211.ko",
+    "sound/soc/codecs/snd-soc-dmic.ko",
+    "sound/soc/codecs/snd-soc-hdmi-codec.ko",
+    "sound/soc/codecs/snd-soc-lpass-va-macro.ko",
+    "sound/soc/codecs/snd-soc-lpass-wsa-macro.ko",
+    "sound/soc/codecs/snd-soc-max98927.ko",
+    "sound/soc/codecs/snd-soc-rl6231.ko",
+    "sound/soc/codecs/snd-soc-rt5663.ko",
+    "sound/soc/codecs/snd-soc-wcd-mbhc.ko",
+    "sound/soc/codecs/snd-soc-wcd9335.ko",
+    "sound/soc/codecs/snd-soc-wcd934x.ko",
+    "sound/soc/codecs/snd-soc-wsa881x.ko",
+    "sound/soc/qcom/qdsp6/q6adm.ko",
+    "sound/soc/qcom/qdsp6/q6afe.ko",
+    "sound/soc/qcom/qdsp6/q6afe-clocks.ko",
+    "sound/soc/qcom/qdsp6/q6afe-dai.ko",
+    "sound/soc/qcom/qdsp6/q6asm.ko",
+    "sound/soc/qcom/qdsp6/q6asm-dai.ko",
+    "sound/soc/qcom/qdsp6/q6core.ko",
+    "sound/soc/qcom/qdsp6/q6dsp-common.ko",
+    "sound/soc/qcom/qdsp6/q6routing.ko",
+    "sound/soc/qcom/snd-soc-qcom-common.ko",
+    "sound/soc/qcom/snd-soc-sdm845.ko",
+    "sound/soc/qcom/snd-soc-sm8250.ko",
+]
+
+_DB845C_WATCHDOG_MODULE_OUTS = [
+    "drivers/watchdog/pm8916_wdt.ko",
+    "drivers/watchdog/qcom-wdt.ko",
+]
+
+kernel_build(
+    name = "db845c_no_kgdb",
     outs = [
         "arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
         "arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
     ],
-    define_abi_targets = True,
-    kmi_symbol_list = "//common:android/abi_gki_aarch64_db845c",
-    kmi_symbol_list_add_only = True,
+    # Enable mixed build.
+    base_kernel = ":kernel_aarch64",
+    build_config = "build.config.db845c",
+    collect_unstripped_modules = True,
+    kmi_symbol_list = "android/abi_gki_aarch64_db845c",
     make_goals = [
         "modules",
         "qcom/sdm845-db845c.dtb",
         "qcom/qrb5165-rb5.dtb",
     ],
-    module_outs = [
-        # keep sorted
-        "crypto/michael_mic.ko",
-        "drivers/base/regmap/regmap-sdw.ko",
-        "drivers/base/regmap/regmap-slimbus.ko",
-        "drivers/bus/mhi/host/mhi.ko",
-        "drivers/clk/qcom/clk-qcom.ko",
-        "drivers/clk/qcom/clk-rpmh.ko",
-        "drivers/clk/qcom/clk-spmi-pmic-div.ko",
-        "drivers/clk/qcom/dispcc-sdm845.ko",
-        "drivers/clk/qcom/dispcc-sm8250.ko",
-        "drivers/clk/qcom/gcc-sdm845.ko",
-        "drivers/clk/qcom/gcc-sm8250.ko",
-        "drivers/clk/qcom/gpucc-sdm845.ko",
-        "drivers/clk/qcom/gpucc-sm8250.ko",
-        "drivers/clk/qcom/lpass-gfm-sm8250.ko",
-        "drivers/clk/qcom/videocc-sdm845.ko",
-        "drivers/clk/qcom/videocc-sm8250.ko",
-        "drivers/cpufreq/qcom-cpufreq-hw.ko",
-        "drivers/dma-buf/heaps/system_heap.ko",
-        "drivers/dma/qcom/bam_dma.ko",
-        "drivers/extcon/extcon-usb-gpio.ko",
-        "drivers/firmware/qcom-scm.ko",
-        "drivers/gpio/gpio-wcd934x.ko",
-        "drivers/gpu/drm/bridge/display-connector.ko",
-        "drivers/gpu/drm/bridge/lontium-lt9611.ko",
-        "drivers/gpu/drm/bridge/lontium-lt9611uxc.ko",
-        "drivers/gpu/drm/msm/msm.ko",
-        "drivers/gpu/drm/scheduler/gpu-sched.ko",
-        "drivers/hwspinlock/qcom_hwspinlock.ko",
-        "drivers/i2c/busses/i2c-designware-core.ko",
-        "drivers/i2c/busses/i2c-designware-platform.ko",
-        "drivers/i2c/busses/i2c-qcom-geni.ko",
-        "drivers/i2c/busses/i2c-qup.ko",
-        "drivers/i2c/busses/i2c-rk3x.ko",
-        "drivers/i2c/i2c-dev.ko",
-        "drivers/i2c/i2c-mux.ko",
-        "drivers/i2c/muxes/i2c-mux-pca954x.ko",
-        "drivers/iio/adc/qcom-spmi-adc5.ko",
-        "drivers/iio/adc/qcom-vadc-common.ko",
-        "drivers/input/misc/pm8941-pwrkey.ko",
-        "drivers/interconnect/qcom/icc-bcm-voter.ko",
-        "drivers/interconnect/qcom/icc-osm-l3.ko",
-        "drivers/interconnect/qcom/icc-rpmh.ko",
-        "drivers/interconnect/qcom/qnoc-sdm845.ko",
-        "drivers/interconnect/qcom/qnoc-sm8250.ko",
-        "drivers/iommu/arm/arm-smmu/arm_smmu.ko",
-        "drivers/irqchip/qcom-pdc.ko",
-        "drivers/leds/led-class-multicolor.ko",
-        "drivers/mailbox/qcom-apcs-ipc-mailbox.ko",
-        "drivers/mailbox/qcom-ipcc.ko",
-        "drivers/mfd/qcom-spmi-pmic.ko",
-        "drivers/mfd/wcd934x.ko",
-        "drivers/misc/fastrpc.ko",
-        "drivers/mmc/host/cqhci.ko",
-        "drivers/mmc/host/sdhci-msm.ko",
-        "drivers/net/can/spi/mcp251xfd/mcp251xfd.ko",
-        "drivers/net/wireless/ath/ath.ko",
-        "drivers/net/wireless/ath/ath10k/ath10k_core.ko",
-        "drivers/net/wireless/ath/ath10k/ath10k_pci.ko",
-        "drivers/net/wireless/ath/ath10k/ath10k_snoc.ko",
-        "drivers/net/wireless/ath/ath11k/ath11k.ko",
-        "drivers/net/wireless/ath/ath11k/ath11k_ahb.ko",
-        "drivers/net/wireless/ath/ath11k/ath11k_pci.ko",
-        "drivers/nvmem/nvmem_qfprom.ko",
-        "drivers/phy/qualcomm/phy-qcom-qmp.ko",
-        "drivers/phy/qualcomm/phy-qcom-qusb2.ko",
-        "drivers/phy/qualcomm/phy-qcom-snps-femto-v2.ko",
-        "drivers/phy/qualcomm/phy-qcom-usb-hs.ko",
-        "drivers/pinctrl/qcom/pinctrl-lpass-lpi.ko",
-        "drivers/pinctrl/qcom/pinctrl-msm.ko",
-        "drivers/pinctrl/qcom/pinctrl-sdm845.ko",
-        "drivers/pinctrl/qcom/pinctrl-sm8250.ko",
-        "drivers/pinctrl/qcom/pinctrl-spmi-gpio.ko",
-        "drivers/pinctrl/qcom/pinctrl-spmi-mpp.ko",
-        "drivers/power/reset/qcom-pon.ko",
-        "drivers/power/reset/reboot-mode.ko",
-        "drivers/power/reset/syscon-reboot-mode.ko",
-        "drivers/regulator/gpio-regulator.ko",
-        "drivers/regulator/qcom-rpmh-regulator.ko",
-        "drivers/regulator/qcom_spmi-regulator.ko",
-        "drivers/regulator/qcom_usb_vbus-regulator.ko",
-        "drivers/remoteproc/qcom_common.ko",
-        "drivers/remoteproc/qcom_pil_info.ko",
-        "drivers/remoteproc/qcom_q6v5.ko",
-        "drivers/remoteproc/qcom_q6v5_adsp.ko",
-        "drivers/remoteproc/qcom_q6v5_mss.ko",
-        "drivers/remoteproc/qcom_q6v5_pas.ko",
-        "drivers/remoteproc/qcom_q6v5_wcss.ko",
-        "drivers/remoteproc/qcom_sysmon.ko",
-        "drivers/reset/reset-qcom-aoss.ko",
-        "drivers/reset/reset-qcom-pdc.ko",
-        "drivers/rpmsg/qcom_glink.ko",
-        "drivers/rpmsg/qcom_glink_rpm.ko",
-        "drivers/rpmsg/qcom_glink_smem.ko",
-        "drivers/rpmsg/qcom_smd.ko",
-        "drivers/rpmsg/rpmsg_ns.ko",
-        "drivers/rtc/rtc-pm8xxx.ko",
-        "drivers/slimbus/slim-qcom-ngd-ctrl.ko",
-        "drivers/slimbus/slimbus.ko",
-        "drivers/soc/qcom/apr.ko",
-        "drivers/soc/qcom/cmd-db.ko",
-        "drivers/soc/qcom/llcc-qcom.ko",
-        "drivers/soc/qcom/mdt_loader.ko",
-        "drivers/soc/qcom/pdr_interface.ko",
-        "drivers/soc/qcom/qcom_aoss.ko",
-        "drivers/soc/qcom/qcom_rpmh.ko",
-        "drivers/soc/qcom/qmi_helpers.ko",
-        "drivers/soc/qcom/rmtfs_mem.ko",
-        "drivers/soc/qcom/rpmhpd.ko",
-        "drivers/soc/qcom/smem.ko",
-        "drivers/soc/qcom/smp2p.ko",
-        "drivers/soc/qcom/smsm.ko",
-        "drivers/soc/qcom/socinfo.ko",
-        "drivers/soundwire/soundwire-bus.ko",
-        "drivers/soundwire/soundwire-qcom.ko",
-        "drivers/spi/spi-geni-qcom.ko",
-        "drivers/spi/spi-pl022.ko",
-        "drivers/spi/spi-qcom-qspi.ko",
-        "drivers/spi/spi-qup.ko",
-        "drivers/spmi/spmi-pmic-arb.ko",
-        "drivers/thermal/qcom/lmh.ko",
-        "drivers/thermal/qcom/qcom-spmi-adc-tm5.ko",
-        "drivers/thermal/qcom/qcom-spmi-temp-alarm.ko",
-        "drivers/thermal/qcom/qcom_tsens.ko",
-        "drivers/tty/serial/msm_serial.ko",
-        "drivers/ufs/host/ufs_qcom.ko",
-        "drivers/usb/common/ulpi.ko",
-        "drivers/usb/host/ohci-hcd.ko",
-        "drivers/usb/host/ohci-pci.ko",
-        "drivers/usb/host/ohci-platform.ko",
-        "drivers/usb/typec/qcom-pmic-typec.ko",
-        "drivers/watchdog/pm8916_wdt.ko",
-        "drivers/watchdog/qcom-wdt.ko",
-        "net/mac80211/mac80211.ko",
-        "net/qrtr/qrtr.ko",
-        "net/qrtr/qrtr-mhi.ko",
-        "net/qrtr/qrtr-smd.ko",
-        "net/qrtr/qrtr-tun.ko",
-        "net/wireless/cfg80211.ko",
-        "sound/soc/codecs/snd-soc-dmic.ko",
-        "sound/soc/codecs/snd-soc-hdmi-codec.ko",
-        "sound/soc/codecs/snd-soc-lpass-va-macro.ko",
-        "sound/soc/codecs/snd-soc-lpass-wsa-macro.ko",
-        "sound/soc/codecs/snd-soc-max98927.ko",
-        "sound/soc/codecs/snd-soc-rl6231.ko",
-        "sound/soc/codecs/snd-soc-rt5663.ko",
-        "sound/soc/codecs/snd-soc-wcd-mbhc.ko",
-        "sound/soc/codecs/snd-soc-wcd9335.ko",
-        "sound/soc/codecs/snd-soc-wcd934x.ko",
-        "sound/soc/codecs/snd-soc-wsa881x.ko",
-        "sound/soc/qcom/qdsp6/q6adm.ko",
-        "sound/soc/qcom/qdsp6/q6afe.ko",
-        "sound/soc/qcom/qdsp6/q6afe-clocks.ko",
-        "sound/soc/qcom/qdsp6/q6afe-dai.ko",
-        "sound/soc/qcom/qdsp6/q6asm.ko",
-        "sound/soc/qcom/qdsp6/q6asm-dai.ko",
-        "sound/soc/qcom/qdsp6/q6core.ko",
-        "sound/soc/qcom/qdsp6/q6dsp-common.ko",
-        "sound/soc/qcom/qdsp6/q6routing.ko",
-        "sound/soc/qcom/snd-soc-qcom-common.ko",
-        "sound/soc/qcom/snd-soc-sdm845.ko",
-        "sound/soc/qcom/snd-soc-sm8250.ko",
+    module_outs = _DB845C_MODULE_OUTS + _DB845C_WATCHDOG_MODULE_OUTS,
+    strip_modules = True,
+)
+
+kernel_build(
+    name = "db845c_with_kgdb",
+    outs = [
+        "arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
+        "arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
     ],
+    # Enable mixed build.
+    base_kernel = ":kernel_aarch64",
+    build_config = "build.config.db845c",
+    make_goals = [
+        "modules",
+        "qcom/sdm845-db845c.dtb",
+        "qcom/qrb5165-rb5.dtb",
+    ],
+    module_outs = _DB845C_MODULE_OUTS,
+    strip_modules = True,
+)
+
+alias(
+    name = "db845c",
+    actual = select({
+        "//build/kernel/kleaf:kgdb_is_true": "db845c_with_kgdb",
+        "//conditions:default": "db845c_no_kgdb",
+    }),
+)
+
+kernel_abi(
+    name = "db845c_abi",
+    kernel_build = ":db845c",
+    kmi_symbol_list_add_only = True,
+)
+
+kernel_modules_install(
+    name = "db845c_modules_install",
+    kernel_build = ":db845c",
+)
+
+merged_kernel_uapi_headers(
+    name = "db845c_merged_kernel_uapi_headers",
+    kernel_build = ":db845c",
+)
+
+kernel_images(
+    name = "db845c_images",
+    build_initramfs = True,
+    kernel_build = ":db845c",
+    kernel_modules_install = ":db845c_modules_install",
+)
+
+copy_to_dist_dir(
+    name = "db845c_dist",
+    data = [
+        ":db845c",
+        ":db845c_images",
+        ":db845c_modules_install",
+        ":db845c_merged_kernel_uapi_headers",
+        # Mixed build: Additional GKI artifacts.
+        ":kernel_aarch64",
+        ":kernel_aarch64_modules",
+        ":kernel_aarch64_additional_artifacts",
+    ],
+    dist_dir = "out/db845/dist",
+    flat = True,
+    log = "info",
+)
+
+_ROCKPI4_MODULE_OUTS = [
+    # keep sorted
+    "drivers/block/virtio_blk.ko",
+    "drivers/char/hw_random/virtio-rng.ko",
+    "drivers/clk/clk-rk808.ko",
+    "drivers/cpufreq/cpufreq-dt.ko",
+    "drivers/dma/pl330.ko",
+    "drivers/gpu/drm/bridge/analogix/analogix_dp.ko",
+    "drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko",
+    "drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko",
+    "drivers/gpu/drm/rockchip/rockchipdrm.ko",
+    "drivers/i2c/busses/i2c-rk3x.ko",
+    "drivers/iio/adc/rockchip_saradc.ko",
+    "drivers/iio/buffer/industrialio-triggered-buffer.ko",
+    "drivers/iio/buffer/kfifo_buf.ko",
+    "drivers/mfd/rk808.ko",
+    "drivers/mmc/core/pwrseq_simple.ko",
+    "drivers/mmc/host/cqhci.ko",
+    "drivers/mmc/host/dw_mmc.ko",
+    "drivers/mmc/host/dw_mmc-pltfm.ko",
+    "drivers/mmc/host/dw_mmc-rockchip.ko",
+    "drivers/mmc/host/sdhci-of-arasan.ko",
+    "drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko",
+    "drivers/net/ethernet/stmicro/stmmac/stmmac.ko",
+    "drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko",
+    "drivers/net/net_failover.ko",
+    "drivers/net/pcs/pcs_xpcs.ko",
+    "drivers/net/virtio_net.ko",
+    "drivers/nvmem/nvmem_rockchip_efuse.ko",
+    "drivers/pci/controller/pcie-rockchip-host.ko",
+    "drivers/phy/rockchip/phy-rockchip-emmc.ko",
+    "drivers/phy/rockchip/phy-rockchip-inno-usb2.ko",
+    "drivers/phy/rockchip/phy-rockchip-pcie.ko",
+    "drivers/phy/rockchip/phy-rockchip-typec.ko",
+    "drivers/pwm/pwm-rockchip.ko",
+    "drivers/regulator/fan53555.ko",
+    "drivers/regulator/pwm-regulator.ko",
+    "drivers/regulator/rk808-regulator.ko",
+    "drivers/rtc/rtc-rk808.ko",
+    "drivers/soc/rockchip/io-domain.ko",
+    "drivers/thermal/rockchip_thermal.ko",
+    "drivers/usb/host/ohci-hcd.ko",
+    "drivers/usb/host/ohci-platform.ko",
+    "drivers/virtio/virtio_pci.ko",
+    "drivers/virtio/virtio_pci_modern_dev.ko",
+    "net/core/failover.ko",
+]
+
+_ROCKPI4_WATCHDOG_MODULE_OUTS = [
+    # keep sorted
+    "drivers/watchdog/dw_wdt.ko",
+]
+
+# TODO(b/258259749): Convert rockpi4 to mixed build
+kernel_build(
+    name = "rockpi4_no_kgdb",
+    outs = [
+        "Image",
+        "System.map",
+        "modules.builtin",
+        "modules.builtin.modinfo",
+        "rk3399-rock-pi-4b.dtb",
+        "vmlinux",
+        "vmlinux.symvers",
+    ],
+    build_config = "build.config.rockpi4",
+    collect_unstripped_modules = True,
+    kmi_symbol_list = "android/abi_gki_rockpi4",
+    make_goals = [
+        "Image",
+        "modules",
+        "rockchip/rk3399-rock-pi-4b.dtb",
+    ],
+    module_outs = COMMON_GKI_MODULES_LIST + _ROCKPI4_MODULE_OUTS + _ROCKPI4_WATCHDOG_MODULE_OUTS,
+    visibility = ["//visibility:private"],
 )
 
 # TODO(b/258259749): Convert rockpi4 to mixed build
 kernel_build(
-    name = "rockpi4",
+    name = "rockpi4_with_kgdb",
     outs = [
         "Image",
         "System.map",
@@ -291,65 +463,27 @@
         "modules",
         "rockchip/rk3399-rock-pi-4b.dtb",
     ],
-    module_outs = COMMON_GKI_MODULES_LIST + [
-        # keep sorted
-        "drivers/block/virtio_blk.ko",
-        "drivers/char/hw_random/virtio-rng.ko",
-        "drivers/clk/clk-rk808.ko",
-        "drivers/cpufreq/cpufreq-dt.ko",
-        "drivers/dma/pl330.ko",
-        "drivers/gpu/drm/bridge/analogix/analogix_dp.ko",
-        "drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko",
-        "drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko",
-        "drivers/gpu/drm/rockchip/rockchipdrm.ko",
-        "drivers/i2c/busses/i2c-rk3x.ko",
-        "drivers/iio/adc/rockchip_saradc.ko",
-        "drivers/iio/buffer/industrialio-triggered-buffer.ko",
-        "drivers/iio/buffer/kfifo_buf.ko",
-        "drivers/mfd/rk808.ko",
-        "drivers/mmc/core/pwrseq_simple.ko",
-        "drivers/mmc/host/cqhci.ko",
-        "drivers/mmc/host/dw_mmc.ko",
-        "drivers/mmc/host/dw_mmc-pltfm.ko",
-        "drivers/mmc/host/dw_mmc-rockchip.ko",
-        "drivers/mmc/host/sdhci-of-arasan.ko",
-        "drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko",
-        "drivers/net/ethernet/stmicro/stmmac/stmmac.ko",
-        "drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko",
-        "drivers/net/net_failover.ko",
-        "drivers/net/pcs/pcs_xpcs.ko",
-        "drivers/net/virtio_net.ko",
-        "drivers/nvmem/nvmem_rockchip_efuse.ko",
-        "drivers/pci/controller/pcie-rockchip-host.ko",
-        "drivers/phy/rockchip/phy-rockchip-emmc.ko",
-        "drivers/phy/rockchip/phy-rockchip-inno-usb2.ko",
-        "drivers/phy/rockchip/phy-rockchip-pcie.ko",
-        "drivers/phy/rockchip/phy-rockchip-typec.ko",
-        "drivers/pwm/pwm-rockchip.ko",
-        "drivers/regulator/fan53555.ko",
-        "drivers/regulator/pwm-regulator.ko",
-        "drivers/regulator/rk808-regulator.ko",
-        "drivers/rtc/rtc-rk808.ko",
-        "drivers/soc/rockchip/io-domain.ko",
-        "drivers/thermal/rockchip_thermal.ko",
-        "drivers/usb/host/ohci-hcd.ko",
-        "drivers/usb/host/ohci-platform.ko",
-        "drivers/virtio/virtio_pci.ko",
-        "drivers/virtio/virtio_pci_modern_dev.ko",
-        "drivers/watchdog/dw_wdt.ko",
-        "net/core/failover.ko",
-    ],
+    module_outs = COMMON_GKI_MODULES_LIST + _ROCKPI4_MODULE_OUTS,
+    visibility = ["//visibility:private"],
+)
+
+alias(
+    name = "rockpi4",
+    actual = select({
+        "//build/kernel/kleaf:kgdb_is_true": "rockpi4_with_kgdb",
+        "//conditions:default": "rockpi4_no_kgdb",
+    }),
 )
 
 kernel_abi(
     name = "rockpi4_abi",
-    kernel_build = "//common:rockpi4",
+    kernel_build = ":rockpi4",
     kmi_symbol_list_add_only = True,
 )
 
 kernel_modules_install(
     name = "rockpi4_modules_install",
-    kernel_build = "//common:rockpi4",
+    kernel_build = ":rockpi4",
 )
 
 kernel_unstripped_modules_archive(
@@ -360,8 +494,8 @@
 kernel_images(
     name = "rockpi4_images",
     build_initramfs = True,
-    kernel_build = "//common:rockpi4",
-    kernel_modules_install = "//common:rockpi4_modules_install",
+    kernel_build = ":rockpi4",
+    kernel_modules_install = ":rockpi4_modules_install",
 )
 
 copy_to_dist_dir(
@@ -381,13 +515,13 @@
     outs = [],
     base_kernel = ":kernel_aarch64",
     build_config = "build.config.gki.aarch64.fips140",
-    kmi_symbol_list = "//common:android/abi_gki_aarch64_fips140",
+    kmi_symbol_list = "android/abi_gki_aarch64_fips140",
     module_outs = ["crypto/fips140.ko"],
 )
 
 kernel_abi(
     name = "fips140_abi",
-    kernel_build = "//common:fips140",
+    kernel_build = ":fips140",
     kmi_symbol_list_add_only = True,
 )