diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c index b79830dd..fffdaa0f 100644 --- a/drivers/gpu/drm/tegra/gem.c +++ b/drivers/gpu/drm/tegra/gem.c @@ -3,7 +3,7 @@ * NVIDIA Tegra DRM GEM helper functions * * Copyright (C) 2012 Sascha Hauer, Pengutronix - * Copyright (C) 2013-2023 NVIDIA CORPORATION, All rights reserved. + * Copyright (C) 2013-2024 NVIDIA CORPORATION, All rights reserved. * * Based on the GEM/CMA helpers * @@ -24,7 +24,11 @@ #include "drm.h" #include "gem.h" +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif static unsigned int sg_dma_count_chunks(struct scatterlist *sgl, unsigned int nents) { diff --git a/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c b/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c index 0120a51d..2289f47a 100644 --- a/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c +++ b/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c @@ -1762,6 +1762,10 @@ static void __exit capture_vi_exit(void) module_init(capture_vi_init); module_exit(capture_vi_exit); +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif MODULE_DESCRIPTION("tegra fusa-capture driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/misc/mods/mods_dmabuf.c b/drivers/misc/mods/mods_dmabuf.c index 58fab6b9..d7237631 100644 --- a/drivers/misc/mods/mods_dmabuf.c +++ b/drivers/misc/mods/mods_dmabuf.c @@ -8,7 +8,11 @@ #include "mods_internal.h" +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif static struct device *dummy_device; diff --git a/drivers/misc/nvscic2c-pcie/vmap-pin.c b/drivers/misc/nvscic2c-pcie/vmap-pin.c index c23016d4..0780b010 100644 --- a/drivers/misc/nvscic2c-pcie/vmap-pin.c +++ b/drivers/misc/nvscic2c-pcie/vmap-pin.c @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -// Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. #define pr_fmt(fmt) "nvscic2c-pcie: vmap-pin: " fmt @@ -380,4 +380,8 @@ err: return ret; } +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif diff --git a/drivers/platform/tegra/tegra-fsicom.c b/drivers/platform/tegra/tegra-fsicom.c index 3c721952..bd0b4e12 100644 --- a/drivers/platform/tegra/tegra-fsicom.c +++ b/drivers/platform/tegra/tegra-fsicom.c @@ -489,7 +489,11 @@ static struct platform_driver fsicom_client = { module_platform_driver(fsicom_client); +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif MODULE_DESCRIPTION("FSI-CCPLEX-COM driver"); MODULE_AUTHOR("Prashant Shaw "); MODULE_LICENSE("GPL v2"); diff --git a/drivers/video/tegra/host/nvdla/nvdla.c b/drivers/video/tegra/host/nvdla/nvdla.c index b35f829f..3ce1046f 100644 --- a/drivers/video/tegra/host/nvdla/nvdla.c +++ b/drivers/video/tegra/host/nvdla/nvdla.c @@ -1589,6 +1589,10 @@ static void __exit nvdla_exit(void) module_exit(nvdla_exit); #endif +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif MODULE_AUTHOR("Shridhar Rasal "); MODULE_LICENSE("GPL v2"); diff --git a/drivers/video/tegra/host/pva/pva.c b/drivers/video/tegra/host/pva/pva.c index f775fc54..67b4faae 100644 --- a/drivers/video/tegra/host/pva/pva.c +++ b/drivers/video/tegra/host/pva/pva.c @@ -1800,5 +1800,9 @@ static void __exit nvpva_exit(void) module_exit(nvpva_exit); #endif +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif MODULE_LICENSE("GPL v2"); diff --git a/drivers/video/tegra/nvmap/nvmap_init.c b/drivers/video/tegra/nvmap/nvmap_init.c index 6c731567..7c0cc5eb 100644 --- a/drivers/video/tegra/nvmap/nvmap_init.c +++ b/drivers/video/tegra/nvmap/nvmap_init.c @@ -1068,7 +1068,11 @@ static void __exit nvmap_exit_driver(void) nvmap_dev = NULL; } module_exit(nvmap_exit_driver); +#if defined(NV_MODULE_IMPORT_NS_CALLS_STRINGIFY) MODULE_IMPORT_NS(DMA_BUF); +#else +MODULE_IMPORT_NS("DMA_BUF"); +#endif MODULE_DESCRIPTION("NvMap: Nvidia Tegra Memory Management Driver"); MODULE_AUTHOR("Puneet Saxena "); MODULE_LICENSE("GPL v2"); diff --git a/scripts/conftest/Makefile b/scripts/conftest/Makefile index 8c01e100..cf34d23e 100644 --- a/scripts/conftest/Makefile +++ b/scripts/conftest/Makefile @@ -149,6 +149,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += media_entity_remote_pad NV_CONFTEST_FUNCTION_COMPILE_TESTS += mm_struct_struct_has_percpu_counter_rss_stat NV_CONFTEST_FUNCTION_COMPILE_TESTS += mii_bus_struct_has_read_c45 NV_CONFTEST_FUNCTION_COMPILE_TESTS += mii_bus_struct_has_write_c45 +NV_CONFTEST_FUNCTION_COMPILE_TESTS += module_import_ns_calls_stringify NV_CONFTEST_FUNCTION_COMPILE_TESTS += netif_set_tso_max_size NV_CONFTEST_FUNCTION_COMPILE_TESTS += netif_napi_add_weight NV_CONFTEST_FUNCTION_COMPILE_TESTS += no_llseek diff --git a/scripts/conftest/conftest.sh b/scripts/conftest/conftest.sh index b910e333..dc106836 100755 --- a/scripts/conftest/conftest.sh +++ b/scripts/conftest/conftest.sh @@ -7619,6 +7619,24 @@ compile_test() { compile_check_conftest "$CODE" "NV_MM_STRUCT_STRUCT_HAS_PERCPU_COUNTER_RSS_STAT" "" "types" ;; + module_import_ns_calls_stringify) + # + # Determine if the MODULE_IMPORT_NS macro takes a string literal as + # an argument. + # + # Commit cdd30ebb1b9f ("module: Convert symbol namespace to string + # literal") updated the symbol namespace macros to take a string + # literal as an argument and removes the call to __stringify from + # within the macro for Linux v6.13. + # + CODE=" + #include + MODULE_IMPORT_NS(DMA_BUF); + " + + compile_check_conftest "$CODE" "NV_MODULE_IMPORT_NS_CALLS_STRINGIFY" "" "types" + ;; + no_llseek) # # Determine if the function no_llseek() is present.