From c646cbb86280252f368d7b05a94bfd6c0af0898f Mon Sep 17 00:00:00 2001 From: Ryan McClelland Date: Wed, 19 Nov 2025 10:05:35 -0800 Subject: [PATCH 1/3] drivers: i3c: fix unused function warning Fix unused function warning when building without CONFIG_I3C_USE_IBI. Signed-off-by: Ryan McClelland --- drivers/i3c/i3c_common.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/i3c/i3c_common.c b/drivers/i3c/i3c_common.c index 865803f97c611..ee8e819cdf863 100644 --- a/drivers/i3c/i3c_common.c +++ b/drivers/i3c/i3c_common.c @@ -470,6 +470,7 @@ int i3c_sec_i2c_attach(const struct device *dev, uint8_t static_addr, uint8_t lv return ret; } +#ifdef CONFIG_I3C_USE_IBI static void i3c_sec_bus_reset(const struct device *dev) { struct i3c_device_desc *i3c_desc; @@ -483,7 +484,7 @@ static void i3c_sec_bus_reset(const struct device *dev) i3c_detach_i2c_device(i3c_i2c_desc); } } -#ifdef CONFIG_I3C_USE_IBI + /* call this from a workq after the interrupt from a controller */ void i3c_sec_handoffed(struct k_work *work) { From c893c985a0633e61f3dbbb3adc859fb40585b000 Mon Sep 17 00:00:00 2001 From: Ryan McClelland Date: Wed, 19 Nov 2025 22:47:53 -0800 Subject: [PATCH 2/3] drivers: i3c: cdns: fix warning when building without i3c_use_ibi Add a conditional compile around data in `cdns_i3c_irq_handler` to prevent a warning when building controller only and without ibi. Signed-off-by: Ryan McClelland --- drivers/i3c/i3c_cdns.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/i3c/i3c_cdns.c b/drivers/i3c/i3c_cdns.c index b264aef8455ea..9ab43441f595e 100644 --- a/drivers/i3c/i3c_cdns.c +++ b/drivers/i3c/i3c_cdns.c @@ -2774,7 +2774,9 @@ static void cdns_i3c_target_sdr_tx_thr_int_handler(const struct device *dev, static void cdns_i3c_irq_handler(const struct device *dev) { const struct cdns_i3c_config *config = dev->config; +#if defined(CONFIG_I3C_CONTROLLER) && defined(CONFIG_I3C_USE_IBI) || defined(CONFIG_I3C_TARGET) struct cdns_i3c_data *data = dev->data; +#endif #ifdef CONFIG_I3C_CONTROLLER uint32_t int_st = sys_read32(config->base + MST_ISR); From 4eacfef6032419a49fe92749a171247a19f006e7 Mon Sep 17 00:00:00 2001 From: Ryan McClelland Date: Wed, 19 Nov 2025 10:06:19 -0800 Subject: [PATCH 3/3] tests: drivers: build_all: i3c: add build for no ibis Add a test case to build without CONFIG_I3C_USE_IBI Signed-off-by: Ryan McClelland --- tests/drivers/build_all/i3c/testcase.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/drivers/build_all/i3c/testcase.yaml b/tests/drivers/build_all/i3c/testcase.yaml index 7885e2cd46146..994d73d0bcad7 100644 --- a/tests/drivers/build_all/i3c/testcase.yaml +++ b/tests/drivers/build_all/i3c/testcase.yaml @@ -19,3 +19,18 @@ tests: platform_allow: qemu_cortex_m3 tags: i3c_cdns i3c_dw extra_args: "CONFIG_I3C_TARGET_ROLE_ONLY=y" + drivers.i3c.build.dual_role_nibi: + # will cover drivers without in-tree boards + platform_allow: qemu_cortex_m3 + tags: i3c_cdns i3c_dw + extra_args: "CONFIG_I3C_DUAL_ROLE=y CONFIG_I3C_RTIO=y CONFIG_I3C_USE_IBI=n" + drivers.i3c.build.controller_role_only_nibi: + # will cover drivers without in-tree boards + platform_allow: qemu_cortex_m3 + tags: i3c_cdns i3c_dw + extra_args: "CONFIG_I3C_CONTROLLER_ROLE_ONLY=y CONFIG_I3C_RTIO=y CONFIG_I3C_USE_IBI=n" + drivers.i3c.build.target_role_only_nibi: + # will cover drivers without in-tree boards + platform_allow: qemu_cortex_m3 + tags: i3c_cdns i3c_dw + extra_args: "CONFIG_I3C_TARGET_ROLE_ONLY=y CONFIG_I3C_USE_IBI=n"