interating custom zephyr driver for sdk 2.8.0

I am in the process of integrating a custom display driver (ST7305) into my Zephyr-based project and have followed the necessary steps:

  1. Placed the .c and .h source files, along with the Kconfig file, in ncs/v2.8.0/zephyr/drivers/display.

  2. Added the corresponding .yaml file under ncs/v2.8.0/zephyr/dts/bindings/display.

  3. Modified CMakeLists.txt  under ncs/v2.8.0/zephyr/drivers/display to include:

    zephyr_library_sources_ifdef(CONFIG_ST7305 display_st7305.c)
  4. Updated the device tree overlay with:

    compatible = "sitronix,st7305";

    The compatible property is recognised correctly, and I can reference it via Ctrl + Click.

However, upon building the project, I encounter the following error:

FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map /home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/build/lvglst7789v/zephyr/zephyr_pre0.map 
: && ccache /home/dkj/ncs/toolchains/b81a7cd864/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -Os -DNDEBUG -gdwarf-4 zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr/zephyr_pre0.elf  zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj  -fuse-ld=bfd  -T  zephyr/linker_zephyr_pre0.cmd  -Wl,-Map=/home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/build/lvglst7789v/zephyr/zephyr_pre0.map  -Wl,--whole-archive  app/libapp.a  zephyr/libzephyr.a  zephyr/arch/common/libarch__common.a  zephyr/arch/arch/arm/core/libarch__arm__core.a  zephyr/arch/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a  zephyr/arch/arch/arm/core/mpu/libarch__arm__core__mpu.a  zephyr/lib/libc/picolibc/liblib__libc__picolibc.a  zephyr/lib/libc/common/liblib__libc__common.a  zephyr/lib/posix/options/liblib__posix__options.a  zephyr/soc/soc/nrf52840/libsoc__nordic.a  zephyr/drivers/clock_control/libdrivers__clock_control.a  zephyr/drivers/gpio/libdrivers__gpio.a  zephyr/drivers/timer/libdrivers__timer.a  modules/nrf/drivers/hw_cc3xx/lib..__nrf__drivers__hw_cc3xx.a  modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a  modules/lvgl/libmodules__lvgl.a  modules/segger/libmodules__segger.a  -Wl,--no-whole-archive  zephyr/kernel/libkernel.a  -L"/home/dkj/ncs/toolchains/b81a7cd864/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v7e-m/nofp"  -L/home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/build/lvglst7789v/zephyr  -lgcc  zephyr/arch/common/libisr_tables.a  -mcpu=cortex-m4  -mthumb  -mabi=aapcs  -mfp16-format=ieee  -mtp=soft  -Wl,--gc-sections  -Wl,--build-id=none  -Wl,--sort-common=descending  -Wl,--sort-section=alignment  -Wl,-u,_OffsetAbsSyms  -Wl,-u,_ConfigAbsSyms  -nostdlib  -static  -Wl,-X  -Wl,-N  -Wl,--orphan-handling=warn  -Wl,-no-pie  -DPICOLIBC_LONG_LONG_PRINTF_SCANF  /home/dkj/ncs/v2.8.0/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m4/soft-float/no-interrupts/libnrf_cc310_platform_0.9.19.a  --specs=picolibc.specs  -lc  -lgcc && cd /home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/build/lvglst7789v/zephyr && /home/dkj/ncs/toolchains/b81a7cd864/usr/local/bin/cmake -E true
/home/dkj/ncs/toolchains/b81a7cd864/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: app/libapp.a(main.c.obj): in function `main':
/home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/src/main.c:70: undefined reference to `__device_dts_ord_30'
/home/dkj/ncs/toolchains/b81a7cd864/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: modules/lvgl/libmodules__lvgl.a(lvgl.c.obj): in function `lvgl_init':
/home/dkj/ncs/v2.8.0/zephyr/modules/lvgl/lvgl.c:244: undefined reference to `__device_dts_ord_30'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
FAILED: _sysbuild/sysbuild/images/lvglst7789v-prefix/src/lvglst7789v-stamp/lvglst7789v-build /home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/build/_sysbuild/sysbuild/images/lvglst7789v-prefix/src/lvglst7789v-stamp/lvglst7789v-build 
cd /home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/build/lvglst7789v && /home/dkj/ncs/toolchains/b81a7cd864/usr/local/bin/cmake --build .
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /home/dkj/ncs/toolchains/b81a7cd864/usr/local/bin/cmake --build /home/dkj/Downloads/lvglst7789v_20250226/lvglst7789v/build



Related