media: virtual-i2c-mux: Fix build for Linux v6.10

In Linux v6.10, the 'class' argument was removed from the
i2c_mux_add_adapter() function. Add a test to conftest to detect the
correct number of arguments for i2c_mux_add_adapter() and update the
virtual-i2c-mux driver accordingly to fix the build for Linux v6.10.

Bug 4593750

Change-Id: I7333a511b487b7c2f2fa0ce7c34f2df5f061fbe4
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3142398
(cherry picked from commit 5e0562c90d)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3142376
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Jon Hunter
2024-05-21 15:52:18 +01:00
committed by mobile promotions
parent 5c02e2fd0b
commit 65900a51a9
3 changed files with 24 additions and 2 deletions

View File

@@ -128,6 +128,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += i2c_new_client_device
NV_CONFTEST_FUNCTION_COMPILE_TESTS += i2c_driver_struct_probe_without_i2c_device_id_arg
NV_CONFTEST_FUNCTION_COMPILE_TESTS += i2c_driver_struct_has_probe_new
NV_CONFTEST_FUNCTION_COMPILE_TESTS += i2c_driver_struct_remove_return_type_int
NV_CONFTEST_FUNCTION_COMPILE_TESTS += i2c_mux_add_adapter_has_no_class_argument
NV_CONFTEST_FUNCTION_COMPILE_TESTS += iio_dev_opaque_has_mlock
NV_CONFTEST_FUNCTION_COMPILE_TESTS += iommu_map_has_gfp_arg
NV_CONFTEST_FUNCTION_COMPILE_TESTS += kthread_complete_and_exit

View File

@@ -5467,6 +5467,23 @@ compile_test() {
compile_check_conftest "$CODE" "NV_I2C_DRIVER_STRUCT_REMOVE_RETURN_TYPE_INT" "" "types"
;;
i2c_mux_add_adapter_has_no_class_argument)
#
# Determine if the i2c_mux_add_adapter() has no class argument.
#
# Commit fec1982d7072 ("i2c: mux: Remove class argument from i2c_mux_add_adapter()")
# removed the 'class' argument from i2c_mux_add_adapter() in Linux v6.10.
#
CODE="
#define _LINUX_EFI_H
#include <linux/i2c-mux.h>
int conftest_i2c_mux_add_adapter_has_no_class_argument(struct i2c_mux_core *muxc) {
return i2c_mux_add_adapter(muxc, 0, 0);
}"
compile_check_conftest "$CODE" "NV_I2C_MUX_ADD_ADAPTER_HAS_NO_CLASS_ARG" "" "types"
;;
of_get_named_gpio)
#
# Determine if of_get_named_gpio() function is present