# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021 The Android Open Source Project

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:kernel.bzl", "ddk_headers", "kernel_build", "kernel_images", "kernel_modules_install")
load(":modules.bzl", "COMMON_GKI_MODULES_LIST")

package(
    default_visibility = [
        "//visibility:public",
    ],
)

_GKI_AARCH64_MAKE_GOALS = [
    "Image",
    "Image.lz4",
    "Image.gz",
    "modules",
]

_GKI_RISCV64_MAKE_GOALS = [
    "Image",
    "Image.lz4",
    "Image.gz",
    "modules",
]

_GKI_X86_64_MAKE_GOALS = [
    "bzImage",
    "modules",
]

filegroup(
    name = "aarch64_additional_kmi_symbol_lists",
    srcs = [
        # keep sorted
        "android/abi_gki_aarch64_db845c",
        "android/abi_gki_aarch64_exynos",
        "android/abi_gki_aarch64_galaxy",
        "android/abi_gki_aarch64_honor",
        "android/abi_gki_aarch64_imx",
        "android/abi_gki_aarch64_mtk",
        "android/abi_gki_aarch64_oplus",
        "android/abi_gki_aarch64_pixel",
        "android/abi_gki_aarch64_qcom",
        "android/abi_gki_aarch64_unisoc",
        "android/abi_gki_aarch64_virtual_device",
        "android/abi_gki_aarch64_vivo",
        "android/abi_gki_aarch64_xiaomi",
    ],
    visibility = ["//visibility:public"],
)

define_common_kernels(target_configs = {
    "kernel_aarch64": {
        "kmi_symbol_list_strict_mode": True,
        "module_implicit_outs": COMMON_GKI_MODULES_LIST,
        "kmi_symbol_list": "android/abi_gki_aarch64",
        "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",
        "make_goals": _GKI_AARCH64_MAKE_GOALS,
    },
    "kernel_aarch64_16k": {
        "kmi_symbol_list_strict_mode": False,
        "module_implicit_outs": COMMON_GKI_MODULES_LIST,
        "make_goals": _GKI_AARCH64_MAKE_GOALS,
    },
    "kernel_aarch64_debug": {
        "kmi_symbol_list_strict_mode": False,
        "module_implicit_outs": COMMON_GKI_MODULES_LIST,
        "kmi_symbol_list": "android/abi_gki_aarch64",
        "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",
        "make_goals": _GKI_AARCH64_MAKE_GOALS,
    },
    "kernel_riscv64": {
        "kmi_symbol_list_strict_mode": False,
        "module_implicit_outs": COMMON_GKI_MODULES_LIST,
        "make_goals": _GKI_RISCV64_MAKE_GOALS,
    },
    "kernel_x86_64": {
        "kmi_symbol_list_strict_mode": False,
        "module_implicit_outs": COMMON_GKI_MODULES_LIST,
        "protected_exports_list": "android/abi_gki_protected_exports_x86_64",
        "protected_modules_list": "android/gki_x86_64_protected_modules",
        "make_goals": _GKI_X86_64_MAKE_GOALS,
    },
    "kernel_x86_64_debug": {
        "kmi_symbol_list_strict_mode": False,
        "module_implicit_outs": COMMON_GKI_MODULES_LIST,
        "protected_exports_list": "android/abi_gki_protected_exports_x86_64",
        "protected_modules_list": "android/gki_x86_64_protected_modules",
        "make_goals": _GKI_X86_64_MAKE_GOALS,
    },
})

define_db845c(
    name = "db845c",
    outs = [
        "arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
        "arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
        "arch/arm64/boot/dts/qcom/sm8450-qrd.dtb",
    ],
    define_abi_targets = True,
    kmi_symbol_list = "//common:android/abi_gki_aarch64_db845c",
    make_goals = [
        "modules",
        "qcom/sdm845-db845c.dtb",
        "qcom/qrb5165-rb5.dtb",
        "qcom/sm8450-qrd.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/gcc-sm8450.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/dma/qcom/gpi.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/display/drm_display_helper.ko",
        "drivers/gpu/drm/display/drm_dp_aux_bus.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/interconnect/qcom/qnoc-sm8450.ko",
        "drivers/iommu/arm/arm-smmu/arm_smmu.ko",
        "drivers/irqchip/qcom-pdc.ko",
        "drivers/leds/rgb/leds-qcom-lpg.ko",
        "drivers/mailbox/qcom-apcs-ipc-mailbox.ko",
        "drivers/mailbox/qcom-ipcc.ko",
        "drivers/media/platform/qcom/venus/venus-core.ko",
        "drivers/media/platform/qcom/venus/venus-dec.ko",
        "drivers/media/platform/qcom/venus/venus-enc.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-combo.ko",
        "drivers/phy/qualcomm/phy-qcom-qmp-pcie.ko",
        "drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.ko",
        "drivers/phy/qualcomm/phy-qcom-qmp-ufs.ko",
        "drivers/phy/qualcomm/phy-qcom-qmp-usb.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-sm8250-lpass-lpi.ko",
        "drivers/pinctrl/qcom/pinctrl-sm8450.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/cpr.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/soc/qcom/spm.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-macro-common.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/q6apm-dai.ko",
        "sound/soc/qcom/qdsp6/q6apm-lpass-dais.ko",
        "sound/soc/qcom/qdsp6/q6asm.ko",
        "sound/soc/qcom/qdsp6/q6asm-dai.ko",
        "sound/soc/qcom/qdsp6/q6core.ko",
        "sound/soc/qcom/qdsp6/q6prm.ko",
        "sound/soc/qcom/qdsp6/q6prm-clocks.ko",
        "sound/soc/qcom/qdsp6/q6routing.ko",
        "sound/soc/qcom/qdsp6/snd-q6apm.ko",
        "sound/soc/qcom/qdsp6/snd-q6dsp-common.ko",
        "sound/soc/qcom/snd-soc-qcom-common.ko",
        "sound/soc/qcom/snd-soc-qcom-sdw.ko",
        "sound/soc/qcom/snd-soc-sdm845.ko",
        "sound/soc/qcom/snd-soc-sm8250.ko",
    ],
)

# TODO(b/258259749): Convert rockpi4 to mixed build
kernel_build(
    name = "rockpi4",
    outs = [
        "Image",
        "System.map",
        "modules.builtin",
        "modules.builtin.modinfo",
        "rk3399-rock-pi-4b.dtb",
        "vmlinux",
        "vmlinux.symvers",
    ],
    build_config = "build.config.rockpi4",
    dtstree = "//common-modules/virtual-device:rockpi4_dts",
    make_goals = [
        "Image",
        "modules",
        "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/display/drm_display_helper.ko",
        "drivers/gpu/drm/drm_dma_helper.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/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_legacy_dev.ko",
        "drivers/virtio/virtio_pci_modern_dev.ko",
        "drivers/watchdog/dw_wdt.ko",
        "net/core/failover.ko",
    ],
)

kernel_modules_install(
    name = "rockpi4_modules_install",
    kernel_build = "//common:rockpi4",
)

kernel_images(
    name = "rockpi4_images",
    build_initramfs = True,
    kernel_build = "//common:rockpi4",
    kernel_modules_install = "//common:rockpi4_modules_install",
)

copy_to_dist_dir(
    name = "rockpi4_dist",
    data = [
        ":rockpi4",
        ":rockpi4_images",
        ":rockpi4_modules_install",
    ],
    dist_dir = "out/rockpi4/dist",
    flat = True,
)

kernel_build(
    name = "fips140",
    outs = [],
    base_kernel = ":kernel_aarch64",
    build_config = "build.config.gki.aarch64.fips140",
    module_outs = ["crypto/fips140.ko"],
)

copy_to_dist_dir(
    name = "fips140_dist",
    data = [
        ":fips140",
    ],
    dist_dir = "out/fips140/dist",
    flat = True,
)

# allmodconfig build tests.
# These are build tests only, so:
# - outs are intentionally set to empty to not copy anything to DIST_DIR
# - --allow-undeclared-modules must be used so modules are not declared or copied.
# - No dist target because these are build tests. We don't care about the artifacts.

# tools/bazel build --allow_undeclared_modules //common:kernel_aarch64_allmodconfig
kernel_build(
    name = "kernel_aarch64_allmodconfig",
    # Hack to actually check the build.
    # Otherwise, Bazel thinks that there are no output files, and skip building.
    outs = [".config"],
    build_config = "build.config.allmodconfig.aarch64",
    visibility = ["//visibility:private"],
)

# tools/bazel build --allow_undeclared_modules //common:kernel_x86_64_allmodconfig
kernel_build(
    name = "kernel_x86_64_allmodconfig",
    # Hack to actually check the build.
    # Otherwise, Bazel thinks that there are no output files, and skip building.
    outs = [".config"],
    build_config = "build.config.allmodconfig.x86_64",
    visibility = ["//visibility:private"],
)

# tools/bazel build --allow_undeclared_modules //common:kernel_arm_allmodconfig
kernel_build(
    name = "kernel_arm_allmodconfig",
    # Hack to actually check the build.
    # Otherwise, Bazel thinks that there are no output files, and skip building.
    outs = [".config"],
    build_config = "build.config.allmodconfig.arm",
    visibility = ["//visibility:private"],
)

# DDK Headers
# All headers. These are the public targets for DDK modules to use.
alias(
    name = "all_headers",
    actual = "all_headers_aarch64",
    visibility = ["//visibility:public"],
)

ddk_headers(
    name = "all_headers_aarch64",
    hdrs = [":all_headers_allowlist_aarch64"] + select({
        "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
        "//conditions:default": [],
    }),
    visibility = ["//visibility:public"],
)

ddk_headers(
    name = "all_headers_arm",
    hdrs = [":all_headers_allowlist_arm"] + select({
        "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
        "//conditions:default": [],
    }),
    visibility = ["//visibility:public"],
)

ddk_headers(
    name = "all_headers_riscv64",
    hdrs = [":all_headers_allowlist_riscv64"] + select({
        "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
        "//conditions:default": [],
    }),
    visibility = ["//visibility:public"],
)

ddk_headers(
    name = "all_headers_x86_64",
    hdrs = [":all_headers_allowlist_x86_64"] + select({
        "//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
        "//conditions:default": [],
    }),
    visibility = ["//visibility:public"],
)

# Implementation details for DDK headers. The targets below cannot be directly
# depended on by DDK modules.

# DDK headers allowlist. This is the list of all headers and include
# directories that are safe to use in DDK modules.
ddk_headers(
    name = "all_headers_allowlist_aarch64",
    hdrs = [
        ":all_headers_allowlist_aarch64_globs",
        ":all_headers_allowlist_common_globs",
    ],
    # The list of include directories where source files can #include headers
    # from. In other words, these are the `-I` option to the C compiler.
    # These are prepended to LINUXINCLUDE.
    linux_includes = [
        "arch/arm64/include",
        "arch/arm64/include/uapi",
        "include",
        "include/uapi",
    ],
    visibility = ["//visibility:private"],
)

ddk_headers(
    name = "all_headers_allowlist_arm",
    hdrs = [
        ":all_headers_allowlist_arm_globs",
        ":all_headers_allowlist_common_globs",
    ],
    # The list of include directories where source files can #include headers
    # from. In other words, these are the `-I` option to the C compiler.
    # These are prepended to LINUXINCLUDE.
    linux_includes = [
        "arch/arm/include",
        "arch/arm/include/uapi",
        "include",
        "include/uapi",
    ],
    visibility = ["//visibility:private"],
)

ddk_headers(
    name = "all_headers_allowlist_riscv64",
    hdrs = [
        ":all_headers_allowlist_common_globs",
        ":all_headers_allowlist_riscv64_globs",
    ],
    # The list of include directories where source files can #include headers
    # from. In other words, these are the `-I` option to the C compiler.
    # These are prepended to LINUXINCLUDE.
    linux_includes = [
        "arch/riscv/include",
        "arch/riscv/include/uapi",
        "include",
        "include/uapi",
    ],
    visibility = ["//visibility:private"],
)

ddk_headers(
    name = "all_headers_allowlist_x86_64",
    hdrs = [
        ":all_headers_allowlist_common_globs",
        ":all_headers_allowlist_x86_64_globs",
    ],
    # The list of include directories where source files can #include headers
    # from. In other words, these are the `-I` option to the C compiler.
    # These are prepended to LINUXINCLUDE.
    linux_includes = [
        "arch/x86/include",
        "arch/x86/include/uapi",
        "include",
        "include/uapi",
    ],
    visibility = ["//visibility:private"],
)

# List of DDK headers allowlist that are glob()-ed to avoid changes of BUILD
# file when the list of files changes. All headers in these directories
# are safe to use.
# These are separate filegroup targets so the all_headers_allowlist_* are
# more friendly to batch BUILD file update tools like buildozer.

# globs() for arm64 only
filegroup(
    name = "all_headers_allowlist_aarch64_globs",
    srcs = glob(["arch/arm64/include/**/*.h"]),
    visibility = ["//visibility:private"],
)

# globs() for arm only
filegroup(
    name = "all_headers_allowlist_arm_globs",
    srcs = glob(["arch/arm/include/**/*.h"]),
    visibility = ["//visibility:private"],
)

# globs() for riscv64 only
filegroup(
    name = "all_headers_allowlist_riscv64_globs",
    srcs = glob(["arch/riscv/include/**/*.h"]),
    visibility = ["//visibility:private"],
)

# globs() for x86 only
filegroup(
    name = "all_headers_allowlist_x86_64_globs",
    srcs = glob(["arch/x86/include/**/*.h"]),
    visibility = ["//visibility:private"],
)

# globs() for all architectures
filegroup(
    name = "all_headers_allowlist_common_globs",
    srcs = glob(["include/**/*.h"]),
    visibility = ["//visibility:private"],
)

# DDK headers unsafe list. This is the list of all headers and include
# directories that may be used during migration from kernel_module's, but
# should be avoided in general.
# Use with caution; items may:
# - be removed without notice
# - be moved into all_headers
ddk_headers(
    name = "all_headers_unsafe",
    hdrs = [
        "drivers/gpu/drm/virtio/virtgpu_trace.h",
    ],
    # The list of include directories where source files can #include headers
    # from. In other words, these are the `-I` option to the C compiler.
    # Unsafe include directories are appended to ccflags-y.
    includes = [],
    visibility = ["//visibility:private"],
)
