summaryrefslogtreecommitdiff
path: root/zephyr/shim/src/tcpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/shim/src/tcpc.c')
-rw-r--r--zephyr/shim/src/tcpc.c33
1 files changed, 13 insertions, 20 deletions
diff --git a/zephyr/shim/src/tcpc.c b/zephyr/shim/src/tcpc.c
index aef3a05b3c..a3598cafc4 100644
--- a/zephyr/shim/src/tcpc.c
+++ b/zephyr/shim/src/tcpc.c
@@ -27,25 +27,18 @@
#define MAYBE_CONST \
COND_CODE_1(CONFIG_PLATFORM_EC_USB_PD_TCPC_RUNTIME_CONFIG, (), (const))
-MAYBE_CONST struct tcpc_config_t tcpc_config[] = {
- DT_FOREACH_STATUS_OKAY_VARGS(CCGXXF_TCPC_COMPAT, TCPC_CONFIG,
- TCPC_CONFIG_CCGXXF)
- DT_FOREACH_STATUS_OKAY_VARGS(FUSB302_TCPC_COMPAT, TCPC_CONFIG,
- TCPC_CONFIG_FUSB302)
- DT_FOREACH_STATUS_OKAY_VARGS(IT8XXX2_TCPC_COMPAT,
- TCPC_CONFIG,
- TCPC_CONFIG_IT8XXX2)
- DT_FOREACH_STATUS_OKAY_VARGS(PS8XXX_COMPAT,
- TCPC_CONFIG,
- TCPC_CONFIG_PS8XXX)
- DT_FOREACH_STATUS_OKAY_VARGS(
- NCT38XX_TCPC_COMPAT,
- TCPC_CONFIG,
- TCPC_CONFIG_NCT38XX)
- DT_FOREACH_STATUS_OKAY_VARGS(
- TCPCI_COMPAT,
- TCPC_CONFIG,
- TCPC_CONFIG_TCPCI)
-};
+#define MAYBE_EMPTY(compat, config) \
+ COND_CODE_1( \
+ DT_HAS_STATUS_OKAY(compat), \
+ (DT_FOREACH_STATUS_OKAY_VARGS(compat, TCPC_CONFIG, config)), \
+ (EMPTY))
+
+MAYBE_CONST struct tcpc_config_t tcpc_config[] = { LIST_DROP_EMPTY(
+ MAYBE_EMPTY(CCGXXF_TCPC_COMPAT, TCPC_CONFIG_CCGXXF),
+ MAYBE_EMPTY(FUSB302_TCPC_COMPAT, TCPC_CONFIG_FUSB302),
+ MAYBE_EMPTY(IT8XXX2_TCPC_COMPAT, TCPC_CONFIG_IT8XXX2),
+ MAYBE_EMPTY(PS8XXX_COMPAT, TCPC_CONFIG_PS8XXX),
+ MAYBE_EMPTY(NCT38XX_TCPC_COMPAT, TCPC_CONFIG_NCT38XX),
+ MAYBE_EMPTY(TCPCI_COMPAT, TCPC_CONFIG_TCPCI)) };
#endif /* DT_HAS_COMPAT_STATUS_OKAY */