mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
virt: tegra: Ensure functions stubs are defined
When building the out-of-tree drivers with virtualization support disabled, symbols for some of the virtualization functions are not found ... nvgpu: Unknown symbol tegra_hv_mempool_unreserve (err -2) nvgpu: Unknown symbol is_tegra_hypervisor_mode (err -2) nvgpu: Unknown symbol tegra_hv_mempool_reserve (err -2) nvhost_pva: Unknown symbol is_tegra_hypervisor_mode (err -2) mc_utils: Unknown symbol is_tegra_hypervisor_mode (err -2) mc_utils: Unknown symbol is_tegra_hypervisor_mode (err -2) Update the hv-ivc.h header to ensure that these function stubs are defined when virtualization support is disabled and only build the hv-ivc driver if virtualization is enabled. Finally, move populating the ccflags to the top-level Makefile and use the subdir-ccflags directive to ensure the ccflags are passed to all sub-directories. Bug 4159372 Bug 4170085 Change-Id: I35edb91007524c3143dff7564f9ad545bd34e969 Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2921199 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
e3e15a3cb1
commit
deffbf24ab
6
Makefile
6
Makefile
@@ -1,8 +1,12 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
|
||||
# Copyright (c) 2022-2023, NVIDIA CORPORATION. All rights reserved.
|
||||
|
||||
LINUXINCLUDE += -I$(srctree.nvidia-oot)/include
|
||||
|
||||
ifeq ($(CONFIG_TEGRA_VIRTUALIZATION),y)
|
||||
subdir-ccflags-y += -DCONFIG_TEGRA_VIRTUALIZATION
|
||||
endif
|
||||
|
||||
obj-m += drivers/
|
||||
|
||||
ifdef CONFIG_SOUND
|
||||
|
||||
@@ -7,8 +7,4 @@
|
||||
|
||||
ccflags-y += -I$(PWD)
|
||||
|
||||
ifeq ($(CONFIG_TEGRA_VIRTUALIZATION),y)
|
||||
ccflags-y += -DCONFIG_TEGRA_VIRTUALIZATION
|
||||
endif
|
||||
|
||||
obj-m += nvsciipc.o
|
||||
|
||||
@@ -3,14 +3,10 @@
|
||||
|
||||
GCOV_PROFILE := y
|
||||
|
||||
subdir-ccflags-y := -Werror
|
||||
subdir-ccflags-y += -Werror
|
||||
|
||||
include $(srctree.nvidia-oot)/drivers/video/tegra/nvmap/Makefile.memory.configs
|
||||
|
||||
ifeq ($(CONFIG_TEGRA_VIRTUALIZATION),y)
|
||||
ccflags-y += -DCONFIG_TEGRA_VIRTUALIZATION
|
||||
endif
|
||||
|
||||
ifeq ($(NVMAP_CONFIG), y)
|
||||
# Build NvMap only when NVMAP_CONFIG is set to y
|
||||
nvmap-y := nvmap_core.o \
|
||||
|
||||
@@ -10,8 +10,10 @@ LINUX_VERSION_6_2 := $(shell expr 6 \* 256 + 2)
|
||||
|
||||
# tegra_hv is currently broken for Linux v6.2 and so skip for Linux v6.2+
|
||||
ifeq ($(shell test $(LINUX_VERSION) -lt $(LINUX_VERSION_6_2); echo $$?),0)
|
||||
ifdef CONFIG_TEGRA_VIRTUALIZATION
|
||||
obj-m += tegra_hv.o
|
||||
endif
|
||||
endif
|
||||
obj-m += tegra_hv_pm_ctl.o
|
||||
obj-m += hvc_sysfs.o
|
||||
obj-m += ivc-cdev.o
|
||||
|
||||
@@ -32,7 +32,7 @@ struct tegra_hv_ivm_cookie {
|
||||
void *reserved;
|
||||
};
|
||||
|
||||
#if (KERNEL_VERSION(6, 2, 0) > LINUX_VERSION_CODE)
|
||||
#if (KERNEL_VERSION(6, 2, 0) > LINUX_VERSION_CODE) && defined(CONFIG_TEGRA_VIRTUALIZATION)
|
||||
bool is_tegra_hypervisor_mode(void);
|
||||
|
||||
/**
|
||||
@@ -451,6 +451,8 @@ static inline struct tegra_ivc *tegra_hv_ivc_convert_cookie(
|
||||
{
|
||||
return ERR_PTR(-ENOTSUPP);
|
||||
};
|
||||
#endif /* (KERNEL_VERSION(6, 2, 0) > LINUX_VERSION_CODE) */
|
||||
#endif /* (KERNEL_VERSION(6, 2, 0) > LINUX_VERSION_CODE) &&
|
||||
* defined(CONFIG_TEGRA_VIRTUALIZATION)
|
||||
*/
|
||||
|
||||
#endif /* __TEGRA_HV_IVC_H */
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
GCOV_PROFILE := y
|
||||
|
||||
subdir-ccflags-y := -Werror
|
||||
subdir-ccflags-y += -Werror
|
||||
ccflags-y += -I$(overlay)/$(src)/../tegra-virt-alt/include/
|
||||
ccflags-y += -I$(overlay)/$(src)/../codecs
|
||||
ccflags-y += -I$(srctree.nvidia-oot)/sound/soc/tegra-virt-alt/nvaudio_ivc/
|
||||
|
||||
Reference in New Issue
Block a user