From 4658a627d78c2b1233f0bd172abf93df12dc0fce Mon Sep 17 00:00:00 2001 From: Jukka Laitinen Date: Tue, 25 Jan 2022 13:42:57 +0200 Subject: [PATCH] Separate i2c and spi board bus configuration into and own library for protected build target This info is needed on both kernel and user sides, and is just data. Signed-off-by: Jukka Laitinen --- boards/px4/fmu-v5/src/CMakeLists.txt | 10 +++++++--- .../nuttx/src/px4/common/px4_protected_layers.cmake | 10 ++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/boards/px4/fmu-v5/src/CMakeLists.txt b/boards/px4/fmu-v5/src/CMakeLists.txt index 9e6bad4995..f900cbf8be 100644 --- a/boards/px4/fmu-v5/src/CMakeLists.txt +++ b/boards/px4/fmu-v5/src/CMakeLists.txt @@ -31,14 +31,18 @@ # ############################################################################ +add_library(board_bus_info + i2c.cpp + spi.cpp +) +add_dependencies(board_bus_info nuttx_context) + add_library(drivers_board can.c - i2c.cpp init.c led.c manifest.c sdio.c - spi.cpp timer_config.cpp usb.c toc.c @@ -57,7 +61,7 @@ target_link_libraries(drivers_board if (NOT DEFINED CONFIG_BUILD_FLAT) target_link_libraries(drivers_board PRIVATE px4_kernel_layer) else() - target_link_libraries(drivers_board PRIVATE px4_layer) + target_link_libraries(drivers_board PRIVATE px4_layer board_bus_info) endif() add_library(drivers_userspace diff --git a/platforms/nuttx/src/px4/common/px4_protected_layers.cmake b/platforms/nuttx/src/px4/common/px4_protected_layers.cmake index 954282cc02..a3ab4a6931 100644 --- a/platforms/nuttx/src/px4/common/px4_protected_layers.cmake +++ b/platforms/nuttx/src/px4/common/px4_protected_layers.cmake @@ -29,6 +29,11 @@ add_library(px4_board_ctrl add_dependencies(px4_board_ctrl nuttx_context px4_kernel_builtin_list_target) +target_link_libraries(px4_layer + PUBLIC + board_bus_info +) + # Build the kernel side px4_kernel_layer add_library(px4_kernel_layer @@ -43,6 +48,11 @@ target_link_libraries(px4_kernel_layer nuttx_kmm ) +target_link_libraries(px4_kernel_layer + PUBLIC + board_bus_info +) + if (DEFINED PX4_CRYPTO) target_link_libraries(px4_kernel_layer PUBLIC crypto_backend) endif()