diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c index fe8e12e6..3777585e 100644 --- a/drivers/gpu/host1x/bus.c +++ b/drivers/gpu/host1x/bus.c @@ -4,6 +4,8 @@ * Copyright (C) 2012-2013, NVIDIA Corporation */ +#include + #include #include #include @@ -11,7 +13,6 @@ #include #include #include -#include #include "bus.h" #include "dev.h" @@ -339,7 +340,7 @@ static int host1x_device_match(struct device *dev, struct device_driver *drv) return strcmp(dev_name(dev), drv->name) == 0; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) +#if defined(NV_BUS_TYPE_STRUCT_UEVENT_HAS_CONST_DEV_ARG) /* Linux v6.3 */ static int host1x_device_uevent(const struct device *dev, #else static int host1x_device_uevent(struct device *dev, diff --git a/scripts/conftest/Makefile b/scripts/conftest/Makefile index c6ff7b07..2ca83282 100644 --- a/scripts/conftest/Makefile +++ b/scripts/conftest/Makefile @@ -95,6 +95,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += blk_mq_destroy_queue NV_CONFTEST_FUNCTION_COMPILE_TESTS += block_device_operations_open_has_gendisk_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += block_device_operations_release_has_no_mode_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += bus_type_struct_remove_has_int_return_type +NV_CONFTEST_FUNCTION_COMPILE_TESTS += bus_type_struct_uevent_has_const_dev_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += class_create_has_no_owner_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += class_struct_devnode_has_const_dev_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += define_semaphore_has_number_arg diff --git a/scripts/conftest/conftest.sh b/scripts/conftest/conftest.sh index fde017e8..6db9a60c 100755 --- a/scripts/conftest/conftest.sh +++ b/scripts/conftest/conftest.sh @@ -6461,6 +6461,26 @@ compile_test() { compile_check_conftest "$CODE" "NV_BUS_TYPE_STRUCT_REMOVE_HAS_INT_RETURN_TYPE" "" "types" ;; + bus_type_struct_uevent_has_const_dev_arg) + # + # Determine if the 'uevent' callback from the 'bus_type' structure + # has a const 'struct dev' argument. + # + # Commit 2a81ada32f0e ("driver core: make struct bus_type.uevent() + # take a const *") updated the arguments to the uevent callback + # function in Linux v6.3. + # + CODE=" + #include + int conftest_bus_type_struct_remove_has_int_return_type(const struct device *dev, + struct kobj_uevent_env *env, + struct bus_type *bus) { + return bus->uevent(dev, env); + }" + + compile_check_conftest "$CODE" "NV_BUS_TYPE_STRUCT_UEVENT_HAS_CONST_DEV_ARG" "" "types" + ;; + class_create_has_no_owner_arg) # # Determine if the class_create() function has the 'owner' argument.