Files
linux-nv-oot/BUILD.bazel
Daniel Kudrow 79cf6380ea nvidia-oot: resurrect tegra_hv_comm TTY driver
Port the tegra_hv_comm driver to the OOT kernel. This driver allows an
IVC channel to be used as an emulated serial device.

Make the following changes to simplify maintaining compatibility with
different kernel versions:
- Use a generic port type instead of defining a custom one.
- Use existing conftest to determine whether platform_device.remove
  returns void.
- Add a conftest to determine whether uart_state.xmit exists.
- Use tty_port.xmit_fifo in kernels where uart_state.xmit has been
  removed.

Jira HYP-20929

Change-Id: I1bc218f591d6d741fc39ae5392a9ea95bdc3f117
Signed-off-by: Daniel Kudrow <dkudrow@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3340420
(cherry picked from commit a67e7fd330be5d6c55e35c0ce810ff5124378ae7 in embedded/7.0.3.0)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3301386
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-07-24 10:20:35 +00:00

198 lines
7.9 KiB
Python

# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
load("//build/kernel/kleaf:kernel.bzl", "kernel_module")
package(
default_visibility = [
"//visibility:public",
],
)
filegroup(
name = "oot.includes",
srcs = glob([
"include/**/*.h",
]),
)
filegroup(
name = "host1x.includes",
srcs = glob([
"drivers/gpu/host1x/include/**/*.h",
"drivers/gpu/host1x-fence/include/**/*.h",
]),
)
filegroup(
name = "nvmap.includes",
srcs = glob([
"drivers/video/tegra/nvmap/include/**/*.h",
]),
)
filegroup(
name = "pci.includes",
srcs = glob([
"drivers/pci/endpoint/functions/*.h",
]),
)
kernel_module(
name = "nvoot",
srcs = glob(
["**"],
exclude = [
".*",
".*/**",
"*.bazel",
"**/*.bzl",
],
) + [
"//hwpm:hwpm_headers",
"//nvidia-oot/scripts/conftest:conftest_headers",
],
outs = [
# keep sorted
"drivers/block/tegra_oops_virt_storage/tegra_hv_vblk_oops.ko",
"drivers/block/tegra_virt_storage/tegra_vblk.ko",
"drivers/bluetooth/realtek/rtk_btusb.ko",
"drivers/bus/tegra-aocluster.ko",
"drivers/cpuidle/cpuidle-cg-disable-t264.ko",
"drivers/cpuidle/cpuidle-debugfs.ko",
"drivers/cpuidle/cpuidle-tegra-auto.ko",
"drivers/crypto/tegra-hv-vse-safety.ko",
"drivers/crypto/tegra-nvvse-cryptodev.ko",
"drivers/crypto/tegra-se-nvrng.ko",
"drivers/crypto/tegra/tegra-se-kds.ko",
"drivers/crypto/tegra/tegra-se.ko",
"drivers/devfreq/governor_pod_scaling.ko",
"drivers/devfreq/tegra_wmark.ko",
"drivers/firmware/tegra/ivc_ext.ko",
"drivers/firmware/tegra/tegra_bpmp.ko",
"drivers/gpio/gpio-max77851.ko",
"drivers/gpu/drm/tegra/tegra-drm.ko",
"drivers/gpu/host1x-emu/host1x-emu.ko",
"drivers/gpu/host1x-fence/host1x-fence.ko",
"drivers/gpu/host1x/host1x.ko",
"drivers/gpu/host1x-nvhost/host1x-nvhost.ko",
"drivers/hwmon/f75308.ko",
"drivers/hwmon/ina232.ko",
"drivers/i2c/busses/i2c-nvvrs11.ko",
"drivers/i2c/busses/i2c-tegra-slave-byte.ko",
"drivers/media/i2c/max9295.ko",
"drivers/media/i2c/max9296.ko",
"drivers/media/platform/tegra/cam_fsync/cam_fsync.ko",
"drivers/media/platform/tegra/cdi/cdi_dev.ko",
"drivers/media/platform/tegra/cdi/cdi_gpio.ko",
"drivers/media/platform/tegra/cdi/cdi_mgr.ko",
"drivers/media/platform/tegra/cdi/cdi_pwm.ko",
"drivers/media/platform/tegra/isc/isc_dev.ko",
"drivers/media/platform/tegra/isc/isc_gpio.ko",
"drivers/media/platform/tegra/isc/isc_mgr.ko",
"drivers/media/platform/tegra/isc/isc_pwm.ko",
"drivers/media/platform/tegra/v4l2loopback/v4l2loopback.ko",
"drivers/memory/tegra/mc-t26x.ko",
"drivers/memory/tegra/mem-qual.ko",
"drivers/memory/tegra/smmu-hwpm.ko",
"drivers/memory/tegra/tegra264-mc-hwpm.ko",
"drivers/mfd/max77851.ko",
"drivers/mfd/nvidia-vrs-pseq.ko",
"drivers/misc/bluedroid_pm.ko",
"drivers/misc/ioctl_example.ko",
"drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epc.ko",
"drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epf.ko",
"drivers/misc/nvsciipc/nvsciipc.ko",
"drivers/misc/tegra-cec/tegra_cec.ko",
"drivers/misc/tegra-pcie-dma-test.ko",
"drivers/mtd/devices/tegra_hv_mtd.ko",
"drivers/net/can/mttcan/mttcan.ko",
"drivers/net/ethernet/marvell/oak/oak_pci.ko",
"drivers/net/ethernet/microchip/lan743x.ko",
"drivers/net/ethernet/nvidia/nvethernet/nvethernet.ko",
"drivers/net/ethernet/nvidia/pcie/tegra_vnet.ko",
"drivers/net/ethernet/realtek/r8125/r8125.ko",
"drivers/net/ethernet/realtek/r8126/r8126.ko",
"drivers/net/ethernet/realtek/r8168/r8168.ko",
"drivers/nv-p2p/nvidia-p2p.ko",
"drivers/nvpmodel/nvpmodel-clk-cap.ko",
"drivers/nvpps/nvpps.ko",
"drivers/nvtzvault/nvtzvault.ko",
"drivers/nv-virtio/nv-virtio-console-poc.ko",
"drivers/pci/controller/pcie-tegra-vf.ko",
"drivers/pci/controller/pcie-tegra264.ko",
"drivers/pci/controller/pcie-tegra264-ep.ko",
"drivers/pci/controller/tegra-pcie-dma-lib.ko",
"drivers/pci/controller/tegra-pcie-edma.ko",
"drivers/pci/endpoint/functions/pci-epf-dma-test.ko",
"drivers/pci/endpoint/functions/pci-epf-tegra-vnet.ko",
"drivers/pinctrl/pinctrl-max77851.ko",
"drivers/pinctrl/pinctrl-tegra194-pexclk-padctrl.ko",
"drivers/pinctrl/pinctrl-tegra234-dpaux.ko",
"drivers/platform/tegra/aon/tegra234-aon.ko",
"drivers/platform/tegra/aon/tegra-aon-ivc-echo.ko",
"drivers/platform/tegra/dce/tegra-dce.ko",
"drivers/platform/tegra/mce/tegra-mce.ko",
"drivers/platform/tegra/mc-hwpm.ko",
"drivers/platform/tegra/mc-utils/mc-utils.ko",
"drivers/platform/tegra/nvadsp/nvadsp.ko",
"drivers/platform/tegra/psc/tegra23x_psc.ko",
"drivers/platform/tegra/tegra-bootloader-debug.ko",
"drivers/platform/tegra/tegra-cactmon-mc-all.ko",
"drivers/platform/tegra/tegra-fsicom.ko",
"drivers/platform/tegra/tegra-hv-xhci.ko",
"drivers/platform/tegra/tegra-hv-xhci-debug.ko",
"drivers/platform/tegra/tegra-uss-io-proxy.ko",
"drivers/platform/tegra/uncore_pmu/tegra23x_perf_uncore.ko",
"drivers/power/reset/max77851-poweroff.ko",
"drivers/pwm/pwm-tegra-tachometer.ko",
"drivers/ras/arm64-ras.ko",
"drivers/regulator/max77851-regulator.ko",
"drivers/rtc/nvvrs-pseq-rtc.ko",
"drivers/rtc/rtc-max77851.ko",
"drivers/scsi/ufs/ufs-tegra.ko",
"drivers/soc/tegra/fuse/kfuse.ko",
"drivers/spi/spi-aurix-tegra.ko",
"drivers/spi/spi-tegra124-slave.ko",
"drivers/spi/spi-tegra210-quad.ko",
"drivers/thermal/max77851_thermal.ko",
"drivers/tty/serial/wch_35x/wch.ko",
"drivers/tty/serial/tegra_hv_comm.ko",
"drivers/usb/typec/fusb301.ko",
"drivers/video/tegra/camera/tegra_camera_platform.ko",
"drivers/video/tegra/dc/bridge/maxim_gmsl_dp_serializer.ko",
"drivers/video/tegra/dc/bridge/maxim_gmsl_hdmi_serializer.ko",
"drivers/video/tegra/dc/bridge/nvdisp_serdes.ko",
"drivers/video/tegra/dc/bridge/ti_fpdlink_dp_serializer.ko",
"drivers/video/tegra/host/capture/nvhost-capture.ko",
"drivers/video/tegra/host/nvcsi/nvhost-nvcsi.ko",
"drivers/video/tegra/host/nvdla/nvhost-nvdla.ko",
"drivers/video/tegra/nvmap/nvmap.ko",
"drivers/video/tegra/tsec/tsecriscv.ko",
"drivers/video/tegra/virt/tegra_gr_comm.ko",
"drivers/virt/tegra/hvc_sysfs.ko",
"drivers/virt/tegra/ivc-cdev.ko",
"drivers/virt/tegra/tegra_hv.ko",
"drivers/virt/tegra/tegra_hv_pm_ctl.ko",
"drivers/virt/tegra/tegra_hv_vcpu_yield.ko",
"drivers/virt/tegra/userspace_ivc_mempool.ko",
"drivers/watchdog/max77851_wdt.ko",
"drivers/watchdog/softdog-platform.ko",
"drivers/watchdog/watchdog-tegra-t18x.ko",
"sound/soc/tegra/snd-soc-tegra186-arad.ko",
"sound/soc/tegra/snd-soc-tegra210-adsp.ko",
"sound/soc/tegra/snd-soc-tegra210-afc.ko",
"sound/soc/tegra/snd-soc-tegra210-iqc.ko",
"sound/soc/tegra/snd-soc-tegra-controls.ko",
"sound/soc/tegra/snd-soc-tegra-utils.ko",
"sound/soc/tegra-virt-alt/snd-soc-tegra210-virt-alt-admaif.ko",
"sound/soc/tegra-virt-alt/snd-soc-tegra210-virt-alt-adsp.ko",
"sound/soc/tegra-virt-alt/snd-soc-tegra-virt-t210ref-pcm.ko",
"sound/tegra-safety-audio/safety-i2s.ko",
],
kernel_build = "//nvidia-build/kleaf:tegra_android",
deps = [
"//hwpm/drivers/tegra/hwpm:hwpm",
],
)