diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 3f5f6fd7..b820d66c 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -16,7 +16,11 @@ #include #include +#if defined(NV_APERTURE_REMOVE_ALL_CONFLICTING_DEVICES_PRESENT) /* Linux v6.0 */ +#include +#else #include +#endif #include #include #include @@ -1315,7 +1319,9 @@ static int host1x_drm_probe(struct host1x_device *dev) drm_mode_config_reset(drm); if (drm->mode_config.num_crtc > 0) { -#if defined(NV_DRM_APERTURE_REMOVE_FRAMEBUFFERS_HAS_NO_PRIMARY_ARG) /* Linux v6.5 */ +#if defined(NV_APERTURE_REMOVE_ALL_CONFLICTING_DEVICES_PRESENT) /* Linux v6.0 */ + err = aperture_remove_all_conflicting_devices(tegra_drm_driver.name); +#elif defined(NV_DRM_APERTURE_REMOVE_FRAMEBUFFERS_HAS_NO_PRIMARY_ARG) /* Linux v6.5 */ err = drm_aperture_remove_framebuffers(&tegra_drm_driver); #elif defined(NV_DRM_APERTURE_REMOVE_FRAMEBUFFERS_HAS_DRM_DRIVER_ARG) /* Linux v5.15 */ err = drm_aperture_remove_framebuffers(false, &tegra_drm_driver); diff --git a/scripts/conftest/Makefile b/scripts/conftest/Makefile index b97aa06d..f96fb53c 100644 --- a/scripts/conftest/Makefile +++ b/scripts/conftest/Makefile @@ -90,6 +90,7 @@ endef NV_CONFTEST_FUNCTION_COMPILE_TESTS += __alloc_disk_node_has_lkclass_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += __assign_str_has_no_src_arg +NV_CONFTEST_FUNCTION_COMPILE_TESTS += aperture_remove_all_conflicting_devices NV_CONFTEST_FUNCTION_COMPILE_TESTS += blk_execute_rq_has_no_gendisk_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += blk_mq_alloc_disk_for_queue NV_CONFTEST_FUNCTION_COMPILE_TESTS += blk_mq_alloc_queue @@ -244,6 +245,7 @@ NV_HEADER_PRESENCE_TESTS = \ drm/drm_dp_aux_bus.h \ drm/drm_eld.h \ generated/autoconf.h \ + linux/aperture.h \ linux/kconfig.h \ linux/iosys-map.h \ linux/tegra_prod.h \ diff --git a/scripts/conftest/conftest.sh b/scripts/conftest/conftest.sh index 459dcb1d..7be573f4 100755 --- a/scripts/conftest/conftest.sh +++ b/scripts/conftest/conftest.sh @@ -6534,6 +6534,28 @@ compile_test() { compile_check_conftest "$CODE" "NV___ALLOC_DISK_NODE_HAS_LKCLASS_ARG" "" "types" ;; + aperture_remove_all_conflicting_devices) + # + # Determine if the function aperture_remove_all_conflicting_devices() + # is present. + # + # In Linux v6.0, commit 7283f862bd99 ("drm: Implement DRM aperture + # helpers under video/") added the function + # aperture_remove_all_conflicting_devices(). + # + CODE=" + #if defined(NV_LINUX_APERTURE_H_PRESENT) + #include + #else + #error \"linux/aperture.h not found!\" + #endif + void conftest_aperture_remove_all_conflicting_devices(const char *name) { + aperture_remove_all_conflicting_devices(name); + }" + + compile_check_conftest "$CODE" "NV_APERTURE_REMOVE_ALL_CONFLICTING_DEVICES_PRESENT" "" "types" + ;; + blk_execute_rq_has_no_gendisk_arg) # # Determine if the function blk_execute_rq() has an argument of