Hello,
I want to add a new driver directly in my project (out of tree), so I've add the differents files, as in the picture below.
When I compile, I get each time the errors:
[87/153] Building C object drivers/gpio/mcp23s08/CMakeFiles/..__app01__drivers__gpio__mcp23s08.dir/gpio_mcp23s08.c.obj FAILED: drivers/gpio/mcp23s08/CMakeFiles/..__app01__drivers__gpio__mcp23s08.dir/gpio_mcp23s08.c.obj ccache /home/thomas/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DBUILD_VERSION=v2.3.0-rc1-ncs1 -DEXT_API_MAGIC=0x281ee6de,0xb845acea,23298 -DFIRMWARE_INFO_MAGIC=0x281ee6de,0x8fcebb4c,23298 -DKERNEL -DNRF9160_XXAA -DNRF_TRUSTZONE_NONSECURE -DUSE_PARTITION_MANAGER=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I/home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include -Izephyr/include/generated -I/home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/soc/arm/nordic_nrf/nrf91 -I/home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/lib/libc/newlib/include -I/home/thomas/Documents/IoT_Hevs/soprod_iot/nrf/include -I/home/thomas/Documents/IoT_Hevs/soprod_iot/nrf/subsys/event_manager/. -I/home/thomas/Documents/IoT_Hevs/soprod_iot/modules/hal/cmsis/CMSIS/Core/Include -I/home/thomas/Documents/IoT_Hevs/soprod_iot/modules/hal/nordic/nrfx -I/home/thomas/Documents/IoT_Hevs/soprod_iot/modules/hal/nordic/nrfx/drivers/include -I/home/thomas/Documents/IoT_Hevs/soprod_iot/modules/hal/nordic/nrfx/mdk -I/home/thomas/Documents/IoT_Hevs/soprod_iot/modules/hal/nordic/. -Os -imacros/home/thomas/Documents/IoT_Hevs/soprod_iot/app01/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mcpu=cortex-m33 -mthumb -mabi=aapcs -imacros/home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-address-of-packed-member -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/home/thomas/Documents/IoT_Hevs/soprod_iot/app01=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/thomas/Documents/IoT_Hevs/soprod_iot=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=c99 -MD -MT drivers/gpio/mcp23s08/CMakeFiles/..__app01__drivers__gpio__mcp23s08.dir/gpio_mcp23s08.c.obj -MF drivers/gpio/mcp23s08/CMakeFiles/..__app01__drivers__gpio__mcp23s08.dir/gpio_mcp23s08.c.obj.d -o drivers/gpio/mcp23s08/CMakeFiles/..__app01__drivers__gpio__mcp23s08.dir/gpio_mcp23s08.c.obj -c ../drivers/gpio/mcp23s08/gpio_mcp23s08.c In file included from /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sched_priq.h:9, from /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/kernel_includes.h:23, from /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/kernel.h:17, from ../drivers/gpio/mcp23s08/gpio_mcp23s08.c:15: ../drivers/gpio/mcp23s08/gpio_mcp23s08.c:418:4: warning: implicit declaration of function 'GPIO_PORT_PIN_MASK_FROM_DT_INST' [-Wimplicit-function-declaration] 418 | GPIO_PORT_PIN_MASK_FROM_DT_INST(inst), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:447:26: note: in definition of macro '__DEBRACKET' 447 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:444:2: note: in expansion of macro '__GET_ARG2_DEBRACKET' 444 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:327:2: note: in expansion of macro '__COND_CODE' 327 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:324:2: note: in expansion of macro 'Z_COND_CODE_1' 324 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/devicetree.h:1698:2: note: in expansion of macro 'COND_CODE_1' 1698 | COND_CODE_1(DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT), \ | ^~~~~~~~~~~ zephyr/include/generated/devicetree_unfixed.h:4311:53: note: in expansion of macro 'MCP23S08_INIT' 4311 | #define DT_FOREACH_OKAY_INST_microchip_mcp23s08(fn) fn(0) | ^~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:510:36: note: in expansion of macro 'DT_FOREACH_OKAY_INST_microchip_mcp23s08' 510 | #define UTIL_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ | ^ ../drivers/gpio/mcp23s08/gpio_mcp23s08.c:455:1: note: in expansion of macro 'DT_INST_FOREACH_STATUS_OKAY' 455 | DT_INST_FOREACH_STATUS_OKAY(MCP23S08_INIT) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../drivers/gpio/mcp23s08/gpio_mcp23s08.c:418:4: error: initializer element is not constant 418 | GPIO_PORT_PIN_MASK_FROM_DT_INST(inst), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:447:26: note: in definition of macro '__DEBRACKET' 447 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:444:2: note: in expansion of macro '__GET_ARG2_DEBRACKET' 444 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:327:2: note: in expansion of macro '__COND_CODE' 327 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:324:2: note: in expansion of macro 'Z_COND_CODE_1' 324 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/devicetree.h:1698:2: note: in expansion of macro 'COND_CODE_1' 1698 | COND_CODE_1(DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT), \ | ^~~~~~~~~~~ zephyr/include/generated/devicetree_unfixed.h:4311:53: note: in expansion of macro 'MCP23S08_INIT' 4311 | #define DT_FOREACH_OKAY_INST_microchip_mcp23s08(fn) fn(0) | ^~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:510:36: note: in expansion of macro 'DT_FOREACH_OKAY_INST_microchip_mcp23s08' 510 | #define UTIL_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ | ^ ../drivers/gpio/mcp23s08/gpio_mcp23s08.c:455:1: note: in expansion of macro 'DT_INST_FOREACH_STATUS_OKAY' 455 | DT_INST_FOREACH_STATUS_OKAY(MCP23S08_INIT) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../drivers/gpio/mcp23s08/gpio_mcp23s08.c:418:4: note: (near initialization for 'mcp23s08_0_config.common.port_pin_mask') 418 | GPIO_PORT_PIN_MASK_FROM_DT_INST(inst), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:447:26: note: in definition of macro '__DEBRACKET' 447 | #define __DEBRACKET(...) __VA_ARGS__ | ^~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:444:2: note: in expansion of macro '__GET_ARG2_DEBRACKET' 444 | __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code) | ^~~~~~~~~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:327:2: note: in expansion of macro '__COND_CODE' 327 | __COND_CODE(_XXXX##_flag, _if_1_code, _else_code) | ^~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:324:2: note: in expansion of macro 'Z_COND_CODE_1' 324 | Z_COND_CODE_1(_flag, _if_1_code, _else_code) | ^~~~~~~~~~~~~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/devicetree.h:1698:2: note: in expansion of macro 'COND_CODE_1' 1698 | COND_CODE_1(DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT), \ | ^~~~~~~~~~~ zephyr/include/generated/devicetree_unfixed.h:4311:53: note: in expansion of macro 'MCP23S08_INIT' 4311 | #define DT_FOREACH_OKAY_INST_microchip_mcp23s08(fn) fn(0) | ^~ /home/thomas/Documents/IoT_Hevs/soprod_iot/zephyr/include/sys/util.h:510:36: note: in expansion of macro 'DT_FOREACH_OKAY_INST_microchip_mcp23s08' 510 | #define UTIL_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__ | ^ ../drivers/gpio/mcp23s08/gpio_mcp23s08.c:455:1: note: in expansion of macro 'DT_INST_FOREACH_STATUS_OKAY' 455 | DT_INST_FOREACH_STATUS_OKAY(MCP23S08_INIT) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [96/153] Building C object zephyr/lib/libc/newlib/CMakeFiles/lib__libc__newlib.dir/libc-hooks.c.obj ninja: build stopped: subcommand failed. FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /home/thomas/Documents/IoT_Hevs/soprod_iot/app01/build
Did you know how to resolve it?
Thank you