Skip to content

Commit faf85db

Browse files
committed
Revert "[nrf fromlist] sysbuild: dts: Introduce sysbuild_dt_* API"
This reverts commit d8e8302. Signed-off-by: Grzegorz Swiderski <[email protected]>
1 parent 47828ec commit faf85db

File tree

2 files changed

+12
-144
lines changed

2 files changed

+12
-144
lines changed

cmake/modules/extensions.cmake

Lines changed: 12 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -3816,9 +3816,6 @@ endfunction()
38163816
# alias at the beginning of a path interchangeably with the full
38173817
# path to the aliased node in these functions. The usage comments
38183818
# will make this clear in each case.
3819-
#
3820-
# - Each of these methods also has a sysbuild_dt_* counterpart.
3821-
# See share/sysbuild/cmake/modules/sysbuild_extensions.cmake.
38223819

38233820
# Usage:
38243821
# dt_nodelabel(<var> NODELABEL <label>)
@@ -3846,10 +3843,6 @@ endfunction()
38463843
# NODELABEL <label> : Node label
38473844
# REQUIRED : Generate a fatal error if the node-label is not found
38483845
function(dt_nodelabel var)
3849-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
3850-
message(FATAL_ERROR "dt_nodelabel(${ARGV0} ...) devicetree is not available.")
3851-
endif()
3852-
38533846
set(options "REQUIRED")
38543847
set(req_single_args "NODELABEL")
38553848
cmake_parse_arguments(DT_LABEL "${options}" "${req_single_args}" "" ${ARGN})
@@ -3866,7 +3859,7 @@ function(dt_nodelabel var)
38663859
endif()
38673860
endforeach()
38683861

3869-
get_target_property(${var} "${DEVICETREE_TARGET}" "DT_NODELABEL|${DT_LABEL_NODELABEL}")
3862+
get_target_property(${var} devicetree_target "DT_NODELABEL|${DT_LABEL_NODELABEL}")
38703863
if(${${var}} STREQUAL ${var}-NOTFOUND)
38713864
if(DT_LABEL_REQUIRED)
38723865
message(FATAL_ERROR "required nodelabel not found: ${DT_LABEL_NODELABEL}")
@@ -3898,10 +3891,6 @@ endfunction()
38983891
# PROPERTY <prop> : The alias to check
38993892
# REQUIRED : Generate a fatal error if the alias is not found
39003893
function(dt_alias var)
3901-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
3902-
message(FATAL_ERROR "dt_alias(${ARGV0} ...) devicetree is not available.")
3903-
endif()
3904-
39053894
set(options "REQUIRED")
39063895
set(req_single_args "PROPERTY")
39073896
cmake_parse_arguments(DT_ALIAS "${options}" "${req_single_args}" "" ${ARGN})
@@ -3918,7 +3907,7 @@ function(dt_alias var)
39183907
endif()
39193908
endforeach()
39203909

3921-
get_target_property(${var} "${DEVICETREE_TARGET}" "DT_ALIAS|${DT_ALIAS_PROPERTY}")
3910+
get_target_property(${var} devicetree_target "DT_ALIAS|${DT_ALIAS_PROPERTY}")
39223911
if(${${var}} STREQUAL ${var}-NOTFOUND)
39233912
if(DT_ALIAS_REQUIRED)
39243913
message(FATAL_ERROR "required alias not found: ${DT_ALIAS_PROPERTY}")
@@ -3946,10 +3935,6 @@ endfunction()
39463935
# <var> : Return variable where the check result will be returned
39473936
# PATH <path> : Node path
39483937
function(dt_node_exists var)
3949-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
3950-
message(FATAL_ERROR "dt_node_exists(${ARGV0} ...) devicetree is not available.")
3951-
endif()
3952-
39533938
set(req_single_args "PATH")
39543939
cmake_parse_arguments(DT_NODE "" "${req_single_args}" "" ${ARGN})
39553940

@@ -3995,10 +3980,6 @@ endfunction()
39953980
# PATH <path> : Node path
39963981
# STATUS <status> : Status to check
39973982
function(dt_node_has_status var)
3998-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
3999-
message(FATAL_ERROR "dt_node_has_status(${ARGV0} ...) devicetree is not available.")
4000-
endif()
4001-
40023983
set(req_single_args "PATH;STATUS")
40033984
cmake_parse_arguments(DT_NODE "" "${req_single_args}" "" ${ARGN})
40043985

@@ -4085,10 +4066,6 @@ endfunction()
40854066
# INDEX <idx> : Optional index when retrieving a value in an array property
40864067
# REQUIRED : Generate a fatal error if the property is not found
40874068
function(dt_prop var)
4088-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
4089-
message(FATAL_ERROR "dt_prop(${ARGV0} ...) devicetree is not available.")
4090-
endif()
4091-
40924069
set(options "REQUIRED")
40934070
set(req_single_args "PATH;PROPERTY")
40944071
set(single_args "INDEX")
@@ -4107,7 +4084,7 @@ function(dt_prop var)
41074084
endforeach()
41084085

41094086
dt_path_internal(canonical "${DT_PROP_PATH}")
4110-
get_property(exists TARGET "${DEVICETREE_TARGET}"
4087+
get_property(exists TARGET devicetree_target
41114088
PROPERTY "DT_PROP|${canonical}|${DT_PROP_PROPERTY}"
41124089
SET
41134090
)
@@ -4120,7 +4097,7 @@ function(dt_prop var)
41204097
return()
41214098
endif()
41224099

4123-
get_target_property(val "${DEVICETREE_TARGET}"
4100+
get_target_property(val devicetree_target
41244101
"DT_PROP|${canonical}|${DT_PROP_PROPERTY}"
41254102
)
41264103

@@ -4149,10 +4126,6 @@ endfunction()
41494126
# INDEX <idx> : Optional index when retrieving a value in an array property
41504127

41514128
function(dt_comp_path var)
4152-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
4153-
message(FATAL_ERROR "dt_comp_path(${ARGV0} ...) devicetree is not available.")
4154-
endif()
4155-
41564129
set(req_single_args "COMPATIBLE")
41574130
set(single_args "INDEX")
41584131
cmake_parse_arguments(DT_COMP "" "${req_single_args};${single_args}" "" ${ARGN})
@@ -4169,7 +4142,7 @@ function(dt_comp_path var)
41694142
endif()
41704143
endforeach()
41714144

4172-
get_property(exists TARGET "${DEVICETREE_TARGET}"
4145+
get_property(exists TARGET devicetree_target
41734146
PROPERTY "DT_COMP|${DT_COMP_COMPATIBLE}"
41744147
SET
41754148
)
@@ -4179,7 +4152,7 @@ function(dt_comp_path var)
41794152
return()
41804153
endif()
41814154

4182-
get_target_property(val "${DEVICETREE_TARGET}"
4155+
get_target_property(val devicetree_target
41834156
"DT_COMP|${DT_COMP_COMPATIBLE}"
41844157
)
41854158

@@ -4208,10 +4181,6 @@ endfunction()
42084181
# <var> : Return variable where the property value will be stored
42094182
# PATH <path> : Node path
42104183
function(dt_num_regs var)
4211-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
4212-
message(FATAL_ERROR "dt_num_regs(${ARGV0} ...) devicetree is not available.")
4213-
endif()
4214-
42154184
set(req_single_args "PATH")
42164185
cmake_parse_arguments(DT_REG "" "${req_single_args}" "" ${ARGN})
42174186

@@ -4228,7 +4197,7 @@ function(dt_num_regs var)
42284197
endforeach()
42294198

42304199
dt_path_internal(canonical "${DT_REG_PATH}")
4231-
get_target_property(${var} "${DEVICETREE_TARGET}" "DT_REG|${canonical}|NUM")
4200+
get_target_property(${var} devicetree_target "DT_REG|${canonical}|NUM")
42324201

42334202
set(${var} ${${var}} PARENT_SCOPE)
42344203
endfunction()
@@ -4258,10 +4227,6 @@ endfunction()
42584227
# INDEX <idx> : Register block index number
42594228
# NAME <name> : Register block name
42604229
function(dt_reg_addr var)
4261-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
4262-
message(FATAL_ERROR "dt_reg_addr(${ARGV0} ...) devicetree is not available.")
4263-
endif()
4264-
42654230
set(req_single_args "PATH")
42664231
set(single_args "INDEX;NAME")
42674232
cmake_parse_arguments(DT_REG "" "${req_single_args};${single_args}" "" ${ARGN})
@@ -4291,7 +4256,7 @@ function(dt_reg_addr var)
42914256
endif()
42924257

42934258
dt_path_internal(canonical "${DT_REG_PATH}")
4294-
get_target_property(${var}_list "${DEVICETREE_TARGET}" "DT_REG|${canonical}|ADDR")
4259+
get_target_property(${var}_list devicetree_target "DT_REG|${canonical}|ADDR")
42954260

42964261
list(GET ${var}_list ${DT_REG_INDEX} ${var})
42974262

@@ -4322,10 +4287,6 @@ endfunction()
43224287
# INDEX <idx> : Register block index number
43234288
# NAME <name> : Register block name
43244289
function(dt_reg_size var)
4325-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
4326-
message(FATAL_ERROR "dt_reg_size(${ARGV0} ...) devicetree is not available.")
4327-
endif()
4328-
43294290
set(req_single_args "PATH")
43304291
set(single_args "INDEX;NAME")
43314292
cmake_parse_arguments(DT_REG "" "${req_single_args};${single_args}" "" ${ARGN})
@@ -4355,7 +4316,7 @@ function(dt_reg_size var)
43554316
endif()
43564317

43574318
dt_path_internal(canonical "${DT_REG_PATH}")
4358-
get_target_property(${var}_list "${DEVICETREE_TARGET}" "DT_REG|${canonical}|SIZE")
4319+
get_target_property(${var}_list devicetree_target "DT_REG|${canonical}|SIZE")
43594320

43604321
list(GET ${var}_list ${DT_REG_INDEX} ${var})
43614322

@@ -4403,10 +4364,6 @@ endfunction()
44034364
# <var> : Return variable
44044365
# PROPERTY <prop> : Chosen property
44054366
function(dt_has_chosen var)
4406-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
4407-
message(FATAL_ERROR "dt_has_chosen(${ARGV0} ...) devicetree is not available.")
4408-
endif()
4409-
44104367
set(req_single_args "PROPERTY")
44114368
cmake_parse_arguments(DT_CHOSEN "" "${req_single_args}" "" ${ARGN})
44124369

@@ -4422,7 +4379,7 @@ function(dt_has_chosen var)
44224379
endif()
44234380
endforeach()
44244381

4425-
get_target_property(exists "${DEVICETREE_TARGET}" "DT_CHOSEN|${DT_CHOSEN_PROPERTY}")
4382+
get_target_property(exists devicetree_target "DT_CHOSEN|${DT_CHOSEN_PROPERTY}")
44264383

44274384
if(${exists} STREQUAL exists-NOTFOUND)
44284385
set(${var} FALSE PARENT_SCOPE)
@@ -4442,10 +4399,6 @@ endfunction()
44424399
# <var> : Return variable where the node path will be stored
44434400
# PROPERTY <prop> : Chosen property
44444401
function(dt_chosen var)
4445-
if(NOT DEFINED DEVICETREE_TARGET OR NOT TARGET "${DEVICETREE_TARGET}")
4446-
message(FATAL_ERROR "dt_chosen(${ARGV0} ...) devicetree is not available.")
4447-
endif()
4448-
44494402
set(req_single_args "PROPERTY")
44504403
cmake_parse_arguments(DT_CHOSEN "" "${req_single_args}" "" ${ARGN})
44514404

@@ -4461,7 +4414,7 @@ function(dt_chosen var)
44614414
endif()
44624415
endforeach()
44634416

4464-
get_target_property(${var} "${DEVICETREE_TARGET}" "DT_CHOSEN|${DT_CHOSEN_PROPERTY}")
4417+
get_target_property(${var} devicetree_target "DT_CHOSEN|${DT_CHOSEN_PROPERTY}")
44654418

44664419
if(${${var}} STREQUAL ${var}-NOTFOUND)
44674420
set(${var} PARENT_SCOPE)
@@ -4533,7 +4486,7 @@ endfunction()
45334486
# to an existing node. Set it to FALSE otherwise. See
45344487
# dt_path_internal for a definition and examples of 'canonical' paths.
45354488
function(dt_path_internal_exists var path)
4536-
get_target_property(path_prop "${DEVICETREE_TARGET}" "DT_NODE|${path}")
4489+
get_target_property(path_prop devicetree_target "DT_NODE|${path}")
45374490
if (path_prop)
45384491
set(${var} TRUE PARENT_SCOPE)
45394492
else()

share/sysbuild/cmake/modules/sysbuild_extensions.cmake

Lines changed: 0 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,6 @@ function(ExternalZephyrProject_Cmake)
512512
endif()
513513
load_cache(IMAGE ${ZCMAKE_APPLICATION} BINARY_DIR ${BINARY_DIR})
514514
import_kconfig(CONFIG_ ${BINARY_DIR}/zephyr/.config TARGET ${ZCMAKE_APPLICATION})
515-
set(DEVICETREE_TARGET ${ZCMAKE_APPLICATION}_devicetree_target)
516-
include(${BINARY_DIR}/zephyr/dts.cmake)
517515

518516
# This custom target informs CMake how the BYPRODUCTS are generated if a target
519517
# depends directly on the BYPRODUCT instead of depending on the image target.
@@ -765,86 +763,3 @@ function(sysbuild_images_order variable dependency_type)
765763
topological_sort(TARGETS ${SIS_IMAGES} PROPERTY_NAME ${property_name} RESULT sorted)
766764
set(${variable} ${sorted} PARENT_SCOPE)
767765
endfunction()
768-
769-
# Internal macro for defining the sysbuild_dt_* CMake extensions, used to
770-
# retrieve devicetree information from a Zephyr based build system.
771-
#
772-
# It takes a dt_* function <name> and adds common wrapper code, which
773-
# adds an `IMAGE` argument to select the devicetree of a given <image>,
774-
# and forwards all other arguments to the original function, including
775-
# the sole return variable <var> - a common trait of the dt_* API.
776-
#
777-
# For additional documentation of each dt_* CMake extension,
778-
# see section 4.1. of cmake/modules/extensions.cmake.
779-
#
780-
macro(sysbuild_dt_function name)
781-
function(sysbuild_${name} var)
782-
cmake_parse_arguments(PARSE_ARGV 1 SBDT "" "IMAGE" "")
783-
zephyr_check_arguments_required_all("sysbuild_${name}" SBDT IMAGE)
784-
785-
set(DEVICETREE_TARGET ${SBDT_IMAGE}_devicetree_target)
786-
if(NOT TARGET ${SBDT_IMAGE} OR NOT TARGET ${DEVICETREE_TARGET})
787-
message(FATAL_ERROR "sysbuild_${name}(...) image '${SBDT_IMAGE}' "
788-
"does not exist or its devicetree is not loaded yet"
789-
)
790-
endif()
791-
792-
cmake_language(CALL ${name} ${var} ${SBDT_UNPARSED_ARGUMENTS})
793-
set(${var} "${${var}}" PARENT_SCOPE)
794-
endfunction()
795-
endmacro()
796-
797-
# Usage:
798-
# sysbuild_dt_nodelabel(<var> IMAGE <image> NODELABEL <label> [REQUIRED])
799-
#
800-
sysbuild_dt_function(dt_nodelabel)
801-
802-
# Usage:
803-
# sysbuild_dt_alias(<var> IMAGE <image> PROPERTY <prop> [REQUIRED])
804-
#
805-
sysbuild_dt_function(dt_alias)
806-
807-
# Usage:
808-
# sysbuild_dt_node_exists(<var> IMAGE <image> PATH <path>)
809-
#
810-
sysbuild_dt_function(dt_node_exists)
811-
812-
# Usage:
813-
# sysbuild_dt_node_has_status(<var> IMAGE <image> PATH <path> STATUS <status>)
814-
#
815-
sysbuild_dt_function(dt_node_has_status)
816-
817-
# Usage:
818-
# sysbuild_dt_prop(<var> IMAGE <image> PATH <path> PROPERTY <prop> [INDEX <idx>] [REQUIRED])
819-
#
820-
sysbuild_dt_function(dt_prop)
821-
822-
# Usage:
823-
# sysbuild_dt_comp_path(<var> IMAGE <image> COMPATIBLE <compatible> [INDEX <idx>])
824-
#
825-
sysbuild_dt_function(dt_comp_path)
826-
827-
# Usage:
828-
# sysbuild_dt_num_regs(<var> IMAGE <image> PATH <path>)
829-
#
830-
sysbuild_dt_function(dt_num_regs)
831-
832-
# Usage:
833-
# sysbuild_dt_reg_addr(<var> IMAGE <image> PATH <path> [INDEX <idx>] [NAME <name>])
834-
#
835-
sysbuild_dt_function(dt_reg_addr)
836-
837-
# Usage:
838-
# sysbuild_dt_reg_size(<var> IMAGE <image> PATH <path> [INDEX <idx>] [NAME <name>])
839-
#
840-
sysbuild_dt_function(dt_reg_size)
841-
842-
# Usage:
843-
# sysbuild_dt_has_chosen(<var> IMAGE <image> PROPERTY <prop>)
844-
#
845-
sysbuild_dt_function(dt_has_chosen)
846-
847-
# Usage:
848-
# sysbuild_dt_chosen(<var> IMAGE <image> PROPERTY <prop>)
849-
#
850-
sysbuild_dt_function(dt_chosen)

0 commit comments

Comments
 (0)