diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 605bbe68..ad5b599c 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 @@ -1308,7 +1312,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 49c4475a..fd67ff8f 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 += bin_attribute_struct_mmap_has_const_bin_attribute_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += blk_execute_rq_has_no_gendisk_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += blk_mq_alloc_disk_for_queue @@ -230,6 +231,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 \ net/gso.h \ diff --git a/scripts/conftest/conftest.sh b/scripts/conftest/conftest.sh index 4b22822e..ed0e1858 100755 --- a/scripts/conftest/conftest.sh +++ b/scripts/conftest/conftest.sh @@ -6518,6 +6518,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" + ;; + bin_attribute_struct_mmap_has_const_bin_attribute_arg) # # Determine if the 'bin_attribute' structure 'mmap' function pointer