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

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

_GKI_AARCH64_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_amlogic",
        "android/abi_gki_aarch64_db845c",
        "android/abi_gki_aarch64_exynos",
        "android/abi_gki_aarch64_fips140",
        "android/abi_gki_aarch64_lenovo",
        "android/abi_gki_aarch64_oplus",
        "android/abi_gki_aarch64_pixel",
        "android/abi_gki_aarch64_rtkstb",
        "android/abi_gki_aarch64_rtktv",
        "android/abi_gki_aarch64_virtual_device",
        "android/abi_gki_aarch64_xiaomi",
        "android/abi_gki_aarch64_zeku",
    ],
    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_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",
    ],
    define_abi_targets = True,
    kmi_symbol_list = "//common:android/abi_gki_aarch64_db845c",
    kmi_symbol_list_add_only = True,
    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/core/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",
    ],
)

# 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",
    collect_unstripped_modules = True,
    kmi_symbol_list = "//common:android/abi_gki_rockpi4",
    make_goals = [
        "Image",
        "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",
    ],
)

kernel_abi(
    name = "rockpi4_abi",
    kernel_build = "//common:rockpi4",
    kmi_symbol_list_add_only = True,
)

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

kernel_unstripped_modules_archive(
    name = "rockpi4_unstripped_modules_archive",
    kernel_build = ":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",
        ":rockpi4_unstripped_modules_archive",
    ],
    dist_dir = "out/rockpi4/dist",
    flat = True,
)

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

kernel_abi(
    name = "fips140_abi",
    kernel_build = "//common:fips140",
    kmi_symbol_list_add_only = True,
)

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_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_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 arm only
filegroup(
    name = "all_headers_allowlist_arm_globs",
    srcs = glob(["arch/arm/include/**/*.h"]),
    visibility = ["//visibility:private"],
)

# globs() for arm64 only
filegroup(
    name = "all_headers_allowlist_aarch64_globs",
    srcs = glob(["arch/arm64/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/devfreq/governor.h",
        "drivers/dma-buf/heaps/deferred-free-helper.h",
        "drivers/dma-buf/heaps/page_pool.h",
        "drivers/dma/dmaengine.h",
        "drivers/pci/controller/dwc/pcie-designware.h",
        "drivers/pinctrl/core.h",
        "drivers/pinctrl/samsung/pinctrl-samsung.h",
        "drivers/staging/android/debug_kinfo.h",
        "drivers/thermal/thermal_core.h",
        "drivers/thermal/thermal_netlink.h",
        "drivers/usb/core/phy.h",
        "drivers/usb/dwc3/core.h",
        "drivers/usb/dwc3/debug.h",
        "drivers/usb/dwc3/gadget.h",
        "drivers/usb/dwc3/io.h",
        "drivers/usb/dwc3/trace.h",
        "drivers/usb/gadget/configfs.h",
        "drivers/usb/gadget/function/u_serial.h",
        "drivers/usb/host/pci-quirks.h",
        "drivers/usb/host/xhci.h",
        "drivers/usb/host/xhci-ext-caps.h",
        "drivers/usb/host/xhci-mvebu.h",
        "drivers/usb/host/xhci-plat.h",
        "drivers/usb/host/xhci-rcar.h",
        "drivers/usb/typec/tcpm/tcpci.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 = [
        "drivers/devfreq",
        "drivers/dma",
        "drivers/dma-buf",
        "drivers/pci/controller/dwc",
        "drivers/pinctrl",
        "drivers/scsi/ufs",
        "drivers/thermal",
        "drivers/usb",
        "drivers/usb/gadget/function",
        "drivers/usb/typec",
    ],
    visibility = ["//visibility:private"],
)
