diff --git a/drivers/clk/tegra/clk-bpmp.c b/drivers/clk/tegra/clk-bpmp.c index 28f514c4..fad60e7b 100644 --- a/drivers/clk/tegra/clk-bpmp.c +++ b/drivers/clk/tegra/clk-bpmp.c @@ -3,6 +3,8 @@ * Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */ +#include + #include #include #include @@ -284,6 +286,9 @@ static const struct clk_ops tegra_bpmp_clk_gate_ops = { static const struct clk_ops tegra_bpmp_clk_mux_ops = { .prepare = tegra_bpmp_clk_prepare, .unprepare = tegra_bpmp_clk_unprepare, +#if defined(NV_CLK_HW_DETERMINE_RATE_NO_REPARENT_PRESENT) /* Linux 6.4 */ + .determine_rate = clk_hw_determine_rate_no_reparent, +#endif .is_prepared = tegra_bpmp_clk_is_prepared, .recalc_rate = tegra_bpmp_clk_recalc_rate, .set_parent = tegra_bpmp_clk_set_parent, diff --git a/scripts/conftest/Makefile b/scripts/conftest/Makefile index f50874df..89bd7441 100644 --- a/scripts/conftest/Makefile +++ b/scripts/conftest/Makefile @@ -99,6 +99,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += bus_type_struct_uevent_has_const_dev_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += class_attribute_struct_has_const_struct_class_attribute 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 += clk_hw_determine_rate_no_reparent NV_CONFTEST_FUNCTION_COMPILE_TESTS += define_semaphore_has_number_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += device_add_disk_has_int_return_type NV_CONFTEST_FUNCTION_COMPILE_TESTS += devm_tegra_core_dev_init_opp_table_common diff --git a/scripts/conftest/conftest.sh b/scripts/conftest/conftest.sh index d145cc1f..dc8fc6d0 100755 --- a/scripts/conftest/conftest.sh +++ b/scripts/conftest/conftest.sh @@ -6668,6 +6668,23 @@ compile_test() { compile_check_conftest "$CODE" "NV_CLASS_STRUCT_DEVNODE_HAS_CONST_DEV_ARG" "" "types" ;; + clk_hw_determine_rate_no_reparent) + # + # Determine if the function clk_hw_determine_rate_no_reparent() is present or not. + # + # commit 33b70fbc4f815f("clk: Introduce clk_hw_determine_rate_no_reparent()") + # added the API clk_hw_determine_rate_no_reparent() to implement the clk_set_parent() + # in Linux 6.4 + # + CODE=" + #include + void conftest_clk_hw_determine_rate_no_reparent(void) { + clk_hw_determine_rate_no_reparent(); + }" + + compile_check_conftest "$CODE" "NV_CLK_HW_DETERMINE_RATE_NO_REPARENT_PRESENT" "" "functions" + ;; + define_semaphore_has_number_arg) # # Determine if the macro DEFINE_SEMAPHORE has a number argument.