From 6524925753b2f839b182c8aba00630cd216ea4f0 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Tue, 25 Jun 2019 15:53:55 -0400 Subject: [PATCH] cleanup: include/: move ipm.h to drivers/ipm.h move ipm.h to drivers/ipm.h and create a shim for backward-compatibility. No functional changes to the headers. A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES. Related to #16539 Signed-off-by: Anas Nashif --- drivers/console/ipm_console_receiver.c | 2 +- drivers/console/ipm_console_sender.c | 2 +- drivers/ipm/ipm_handlers.c | 2 +- drivers/ipm/ipm_imx.c | 2 +- drivers/ipm/ipm_mcux.c | 2 +- drivers/ipm/ipm_mhu.h | 2 +- drivers/ipm/ipm_quark_se.c | 2 +- drivers/ipm/ipm_quark_se.h | 2 +- include/drivers/ipm.h | 225 ++++++++++++++++++ include/ipm.h | 218 +---------------- .../environmental_sensing/ap/src/main.c | 2 +- .../environmental_sensing/sensor/src/main.c | 2 +- samples/subsys/ipc/ipm_imx/src/main.c | 2 +- samples/subsys/ipc/ipm_mailbox/ap/src/hello.c | 2 +- .../subsys/ipc/ipm_mailbox/sensor/src/hello.c | 2 +- .../ipc/ipm_mcux/remote/src/main_remote.c | 2 +- samples/subsys/ipc/ipm_mcux/src/main_master.c | 2 +- .../subsys/ipc/ipm_mhu_dual_core/src/main.c | 2 +- samples/subsys/ipc/openamp/remote/src/main.c | 2 +- samples/subsys/ipc/openamp/src/main.c | 2 +- soc/arc/quark_se_c1000_ss/soc_config.c | 2 +- soc/x86/intel_quark/quark_se/soc_config.c | 2 +- tests/drivers/ipm/src/ipm_dummy.c | 2 +- tests/drivers/ipm/src/ipm_dummy.h | 2 +- tests/drivers/ipm/src/main.c | 2 +- 25 files changed, 252 insertions(+), 237 deletions(-) create mode 100644 include/drivers/ipm.h diff --git a/drivers/console/ipm_console_receiver.c b/drivers/console/ipm_console_receiver.c index e2056b7a127..9eb9ab62feb 100644 --- a/drivers/console/ipm_console_receiver.c +++ b/drivers/console/ipm_console_receiver.c @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include diff --git a/drivers/console/ipm_console_sender.c b/drivers/console/ipm_console_sender.c index b12493ff8f0..1b24a23265c 100644 --- a/drivers/console/ipm_console_sender.c +++ b/drivers/console/ipm_console_sender.c @@ -10,7 +10,7 @@ #include #include -#include +#include #include static struct device *ipm_console_device; diff --git a/drivers/ipm/ipm_handlers.c b/drivers/ipm/ipm_handlers.c index 57838cb8e5b..d7dd3117d39 100644 --- a/drivers/ipm/ipm_handlers.c +++ b/drivers/ipm/ipm_handlers.c @@ -5,7 +5,7 @@ */ #include -#include +#include Z_SYSCALL_HANDLER(ipm_send, dev, wait, id, data, size) { diff --git a/drivers/ipm/ipm_imx.c b/drivers/ipm/ipm_imx.c index f4ded0a6384..1ca711e9f27 100644 --- a/drivers/ipm/ipm_imx.c +++ b/drivers/ipm/ipm_imx.c @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #define MU(config) ((MU_Type *)config->base) diff --git a/drivers/ipm/ipm_mcux.c b/drivers/ipm/ipm_mcux.c index 90466fe5731..31c42cc6147 100644 --- a/drivers/ipm/ipm_mcux.c +++ b/drivers/ipm/ipm_mcux.c @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include #include diff --git a/drivers/ipm/ipm_mhu.h b/drivers/ipm/ipm_mhu.h index d9e84f9c252..d4d8c51b55f 100644 --- a/drivers/ipm/ipm_mhu.h +++ b/drivers/ipm/ipm_mhu.h @@ -8,7 +8,7 @@ #define ZEPHYR_DRIVERS_IPM_IPM_MHU_H_ #include -#include +#include #include #ifdef __cplusplus diff --git a/drivers/ipm/ipm_quark_se.c b/drivers/ipm/ipm_quark_se.c index b3607391750..74bf0067aeb 100644 --- a/drivers/ipm/ipm_quark_se.c +++ b/drivers/ipm/ipm_quark_se.c @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/drivers/ipm/ipm_quark_se.h b/drivers/ipm/ipm_quark_se.h index 363e7f99384..19f20936685 100644 --- a/drivers/ipm/ipm_quark_se.h +++ b/drivers/ipm/ipm_quark_se.h @@ -12,7 +12,7 @@ #include #include /* for SCSS_REGISTER_BASE */ -#include +#include #include #include diff --git a/include/drivers/ipm.h b/include/drivers/ipm.h new file mode 100644 index 00000000000..493ce756578 --- /dev/null +++ b/include/drivers/ipm.h @@ -0,0 +1,225 @@ +/** + * @file + * + * @brief Generic low-level inter-processor mailbox communication API. + */ + +/* + * Copyright (c) 2015 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef ZEPHYR_INCLUDE_DRIVERS_IPM_H_ +#define ZEPHYR_INCLUDE_DRIVERS_IPM_H_ + +/** + * @brief IPM Interface + * @defgroup ipm_interface IPM Interface + * @ingroup io_interfaces + * @{ + */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @typedef ipm_callback_t + * @brief Callback API for incoming IPM messages + * + * These callbacks execute in interrupt context. Therefore, use only + * interrupt-safe APIS. Registration of callbacks is done via + * @a ipm_register_callback + * + * @param "void *context" Arbitrary context pointer provided at + * registration time. + * @param "u32_t id" Message type identifier. + * @param "volatile void *data" Message data pointer. The correct + * amount of data to read out + * must be inferred using the message id/upper level protocol. + */ +typedef void (*ipm_callback_t)(void *context, u32_t id, volatile void *data); + +/** + * @typedef ipm_send_t + * @brief Callback API to send IPM messages + * + * See @a ipm_send() for argument definitions. + */ +typedef int (*ipm_send_t)(struct device *ipmdev, int wait, u32_t id, + const void *data, int size); +/** + * @typedef ipm_max_data_size_get_t + * @brief Callback API to get maximum data size + * + * See @a ipm_max_data_size_get() for argument definitions. + */ +typedef int (*ipm_max_data_size_get_t)(struct device *ipmdev); + +/** + * @typedef ipm_max_id_val_get_t + * @brief Callback API to get the ID's maximum value + * + * See @a ipm_max_id_val_get() for argument definitions. + */ +typedef u32_t (*ipm_max_id_val_get_t)(struct device *ipmdev); + +/** + * @typedef ipm_register_callback_t + * @brief Callback API upon registration + * + * See @a ipm_register_callback() for argument definitions. + */ +typedef void (*ipm_register_callback_t)(struct device *port, ipm_callback_t cb, + void *cb_context); + +/** + * @typedef ipm_set_enabled_t + * @brief Callback API upon enablement of interrupts + * + * See @a ipm_set_enabled() for argument definitions. + */ +typedef int (*ipm_set_enabled_t)(struct device *ipmdev, int enable); + +struct ipm_driver_api { + ipm_send_t send; + ipm_register_callback_t register_callback; + ipm_max_data_size_get_t max_data_size_get; + ipm_max_id_val_get_t max_id_val_get; + ipm_set_enabled_t set_enabled; +}; + +/** + * @brief Try to send a message over the IPM device. + * + * A message is considered consumed once the remote interrupt handler + * finishes. If there is deferred processing on the remote side, + * or if outgoing messages must be queued and wait on an + * event/semaphore, a high-level driver can implement that. + * + * There are constraints on how much data can be sent or the maximum value + * of id. Use the @a ipm_max_data_size_get and @a ipm_max_id_val_get routines + * to determine them. + * + * The @a size parameter is used only on the sending side to determine + * the amount of data to put in the message registers. It is not passed along + * to the receiving side. The upper-level protocol dictates the amount of + * data read back. + * + * @param ipmdev Driver instance + * @param wait If nonzero, busy-wait for remote to consume the message. The + * message is considered consumed once the remote interrupt handler + * finishes. If there is deferred processing on the remote side, + * or you would like to queue outgoing messages and wait on an + * event/semaphore, you can implement that in a high-level driver + * @param id Message identifier. Values are constrained by + * @a ipm_max_data_size_get since many boards only allow for a + * subset of bits in a 32-bit register to store the ID. + * @param data Pointer to the data sent in the message. + * @param size Size of the data. + * + * @retval EBUSY If the remote hasn't yet read the last data sent. + * @retval EMSGSIZE If the supplied data size is unsupported by the driver. + * @retval EINVAL If there was a bad parameter, such as: too-large id value. + * or the device isn't an outbound IPM channel. + * @retval 0 On success. + */ +__syscall int ipm_send(struct device *ipmdev, int wait, u32_t id, + const void *data, int size); + +static inline int z_impl_ipm_send(struct device *ipmdev, int wait, u32_t id, + const void *data, int size) +{ + const struct ipm_driver_api *api = ipmdev->driver_api; + + return api->send(ipmdev, wait, id, data, size); +} + +/** + * @brief Register a callback function for incoming messages. + * + * @param ipmdev Driver instance pointer. + * @param cb Callback function to execute on incoming message interrupts. + * @param context Application-specific context pointer which will be passed + * to the callback function when executed. + */ +static inline void ipm_register_callback(struct device *ipmdev, + ipm_callback_t cb, void *context) +{ + const struct ipm_driver_api *api = ipmdev->driver_api; + + api->register_callback(ipmdev, cb, context); +} + +/** + * @brief Return the maximum number of bytes possible in an outbound message. + * + * IPM implementations vary on the amount of data that can be sent in a + * single message since the data payload is typically stored in registers. + * + * @param ipmdev Driver instance pointer. + * + * @return Maximum possible size of a message in bytes. + */ +__syscall int ipm_max_data_size_get(struct device *ipmdev); + +static inline int z_impl_ipm_max_data_size_get(struct device *ipmdev) +{ + const struct ipm_driver_api *api = ipmdev->driver_api; + + return api->max_data_size_get(ipmdev); +} + + +/** + * @brief Return the maximum id value possible in an outbound message. + * + * Many IPM implementations store the message's ID in a register with + * some bits reserved for other uses. + * + * @param ipmdev Driver instance pointer. + * + * @return Maximum possible value of a message ID. + */ +__syscall u32_t ipm_max_id_val_get(struct device *ipmdev); + +static inline u32_t z_impl_ipm_max_id_val_get(struct device *ipmdev) +{ + const struct ipm_driver_api *api = ipmdev->driver_api; + + return api->max_id_val_get(ipmdev); +} + +/** + * @brief Enable interrupts and callbacks for inbound channels. + * + * @param ipmdev Driver instance pointer. + * @param enable Set to 0 to disable and to nonzero to enable. + * + * @retval 0 On success. + * @retval EINVAL If it isn't an inbound channel. + */ +__syscall int ipm_set_enabled(struct device *ipmdev, int enable); + +static inline int z_impl_ipm_set_enabled(struct device *ipmdev, int enable) +{ + const struct ipm_driver_api *api = ipmdev->driver_api; + + return api->set_enabled(ipmdev, enable); +} + +#ifdef __cplusplus +} +#endif + +/** + * @} + */ + +#include + +#endif /* ZEPHYR_INCLUDE_DRIVERS_IPM_H_ */ diff --git a/include/ipm.h b/include/ipm.h index 56bbfda0fcc..b8644a13418 100644 --- a/include/ipm.h +++ b/include/ipm.h @@ -1,225 +1,15 @@ -/** - * @file - * - * @brief Generic low-level inter-processor mailbox communication API. - */ - /* - * Copyright (c) 2015 Intel Corporation + * Copyright (c) 2019 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ - #ifndef ZEPHYR_INCLUDE_IPM_H_ #define ZEPHYR_INCLUDE_IPM_H_ -/** - * @brief IPM Interface - * @defgroup ipm_interface IPM Interface - * @ingroup io_interfaces - * @{ - */ - -#include -#include - -#ifdef __cplusplus -extern "C" { +#ifndef CONFIG_COMPAT_INCLUDES +#warning "This header file has moved, include instead." #endif -/** - * @typedef ipm_callback_t - * @brief Callback API for incoming IPM messages - * - * These callbacks execute in interrupt context. Therefore, use only - * interrupt-safe APIS. Registration of callbacks is done via - * @a ipm_register_callback - * - * @param "void *context" Arbitrary context pointer provided at - * registration time. - * @param "u32_t id" Message type identifier. - * @param "volatile void *data" Message data pointer. The correct - * amount of data to read out - * must be inferred using the message id/upper level protocol. - */ -typedef void (*ipm_callback_t)(void *context, u32_t id, volatile void *data); - -/** - * @typedef ipm_send_t - * @brief Callback API to send IPM messages - * - * See @a ipm_send() for argument definitions. - */ -typedef int (*ipm_send_t)(struct device *ipmdev, int wait, u32_t id, - const void *data, int size); -/** - * @typedef ipm_max_data_size_get_t - * @brief Callback API to get maximum data size - * - * See @a ipm_max_data_size_get() for argument definitions. - */ -typedef int (*ipm_max_data_size_get_t)(struct device *ipmdev); - -/** - * @typedef ipm_max_id_val_get_t - * @brief Callback API to get the ID's maximum value - * - * See @a ipm_max_id_val_get() for argument definitions. - */ -typedef u32_t (*ipm_max_id_val_get_t)(struct device *ipmdev); - -/** - * @typedef ipm_register_callback_t - * @brief Callback API upon registration - * - * See @a ipm_register_callback() for argument definitions. - */ -typedef void (*ipm_register_callback_t)(struct device *port, ipm_callback_t cb, - void *cb_context); - -/** - * @typedef ipm_set_enabled_t - * @brief Callback API upon enablement of interrupts - * - * See @a ipm_set_enabled() for argument definitions. - */ -typedef int (*ipm_set_enabled_t)(struct device *ipmdev, int enable); - -struct ipm_driver_api { - ipm_send_t send; - ipm_register_callback_t register_callback; - ipm_max_data_size_get_t max_data_size_get; - ipm_max_id_val_get_t max_id_val_get; - ipm_set_enabled_t set_enabled; -}; - -/** - * @brief Try to send a message over the IPM device. - * - * A message is considered consumed once the remote interrupt handler - * finishes. If there is deferred processing on the remote side, - * or if outgoing messages must be queued and wait on an - * event/semaphore, a high-level driver can implement that. - * - * There are constraints on how much data can be sent or the maximum value - * of id. Use the @a ipm_max_data_size_get and @a ipm_max_id_val_get routines - * to determine them. - * - * The @a size parameter is used only on the sending side to determine - * the amount of data to put in the message registers. It is not passed along - * to the receiving side. The upper-level protocol dictates the amount of - * data read back. - * - * @param ipmdev Driver instance - * @param wait If nonzero, busy-wait for remote to consume the message. The - * message is considered consumed once the remote interrupt handler - * finishes. If there is deferred processing on the remote side, - * or you would like to queue outgoing messages and wait on an - * event/semaphore, you can implement that in a high-level driver - * @param id Message identifier. Values are constrained by - * @a ipm_max_data_size_get since many boards only allow for a - * subset of bits in a 32-bit register to store the ID. - * @param data Pointer to the data sent in the message. - * @param size Size of the data. - * - * @retval EBUSY If the remote hasn't yet read the last data sent. - * @retval EMSGSIZE If the supplied data size is unsupported by the driver. - * @retval EINVAL If there was a bad parameter, such as: too-large id value. - * or the device isn't an outbound IPM channel. - * @retval 0 On success. - */ -__syscall int ipm_send(struct device *ipmdev, int wait, u32_t id, - const void *data, int size); - -static inline int z_impl_ipm_send(struct device *ipmdev, int wait, u32_t id, - const void *data, int size) -{ - const struct ipm_driver_api *api = ipmdev->driver_api; - - return api->send(ipmdev, wait, id, data, size); -} - -/** - * @brief Register a callback function for incoming messages. - * - * @param ipmdev Driver instance pointer. - * @param cb Callback function to execute on incoming message interrupts. - * @param context Application-specific context pointer which will be passed - * to the callback function when executed. - */ -static inline void ipm_register_callback(struct device *ipmdev, - ipm_callback_t cb, void *context) -{ - const struct ipm_driver_api *api = ipmdev->driver_api; - - api->register_callback(ipmdev, cb, context); -} - -/** - * @brief Return the maximum number of bytes possible in an outbound message. - * - * IPM implementations vary on the amount of data that can be sent in a - * single message since the data payload is typically stored in registers. - * - * @param ipmdev Driver instance pointer. - * - * @return Maximum possible size of a message in bytes. - */ -__syscall int ipm_max_data_size_get(struct device *ipmdev); - -static inline int z_impl_ipm_max_data_size_get(struct device *ipmdev) -{ - const struct ipm_driver_api *api = ipmdev->driver_api; - - return api->max_data_size_get(ipmdev); -} - - -/** - * @brief Return the maximum id value possible in an outbound message. - * - * Many IPM implementations store the message's ID in a register with - * some bits reserved for other uses. - * - * @param ipmdev Driver instance pointer. - * - * @return Maximum possible value of a message ID. - */ -__syscall u32_t ipm_max_id_val_get(struct device *ipmdev); - -static inline u32_t z_impl_ipm_max_id_val_get(struct device *ipmdev) -{ - const struct ipm_driver_api *api = ipmdev->driver_api; - - return api->max_id_val_get(ipmdev); -} - -/** - * @brief Enable interrupts and callbacks for inbound channels. - * - * @param ipmdev Driver instance pointer. - * @param enable Set to 0 to disable and to nonzero to enable. - * - * @retval 0 On success. - * @retval EINVAL If it isn't an inbound channel. - */ -__syscall int ipm_set_enabled(struct device *ipmdev, int enable); - -static inline int z_impl_ipm_set_enabled(struct device *ipmdev, int enable) -{ - const struct ipm_driver_api *api = ipmdev->driver_api; - - return api->set_enabled(ipmdev, enable); -} - -#ifdef __cplusplus -} -#endif - -/** - * @} - */ - -#include +#include #endif /* ZEPHYR_INCLUDE_IPM_H_ */ diff --git a/samples/boards/arduino_101/environmental_sensing/ap/src/main.c b/samples/boards/arduino_101/environmental_sensing/ap/src/main.c index c45600b160f..56a4e0678f1 100644 --- a/samples/boards/arduino_101/environmental_sensing/ap/src/main.c +++ b/samples/boards/arduino_101/environmental_sensing/ap/src/main.c @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/samples/boards/arduino_101/environmental_sensing/sensor/src/main.c b/samples/boards/arduino_101/environmental_sensing/sensor/src/main.c index 75a581c85af..3525ae0c52b 100644 --- a/samples/boards/arduino_101/environmental_sensing/sensor/src/main.c +++ b/samples/boards/arduino_101/environmental_sensing/sensor/src/main.c @@ -5,7 +5,7 @@ */ #include -#include +#include #include #include #include diff --git a/samples/subsys/ipc/ipm_imx/src/main.c b/samples/subsys/ipc/ipm_imx/src/main.c index ffed9cb19f4..3c775ba3ad7 100644 --- a/samples/subsys/ipc/ipm_imx/src/main.c +++ b/samples/subsys/ipc/ipm_imx/src/main.c @@ -7,7 +7,7 @@ #include #include #include -#include +#include static struct device *ipm; diff --git a/samples/subsys/ipc/ipm_mailbox/ap/src/hello.c b/samples/subsys/ipc/ipm_mailbox/ap/src/hello.c index 830c5fb3eed..145d4d7aa73 100644 --- a/samples/subsys/ipc/ipm_mailbox/ap/src/hello.c +++ b/samples/subsys/ipc/ipm_mailbox/ap/src/hello.c @@ -7,7 +7,7 @@ #include #include -#include +#include #include QUARK_SE_IPM_DEFINE(ping_ipm, 0, QUARK_SE_IPM_OUTBOUND); diff --git a/samples/subsys/ipc/ipm_mailbox/sensor/src/hello.c b/samples/subsys/ipc/ipm_mailbox/sensor/src/hello.c index e252a8d0bb3..47af95ce761 100644 --- a/samples/subsys/ipc/ipm_mailbox/sensor/src/hello.c +++ b/samples/subsys/ipc/ipm_mailbox/sensor/src/hello.c @@ -6,7 +6,7 @@ */ #include -#include +#include #include #include #include diff --git a/samples/subsys/ipc/ipm_mcux/remote/src/main_remote.c b/samples/subsys/ipc/ipm_mcux/remote/src/main_remote.c index ac6f0191ed4..df9e3139f89 100644 --- a/samples/subsys/ipc/ipm_mcux/remote/src/main_remote.c +++ b/samples/subsys/ipc/ipm_mcux/remote/src/main_remote.c @@ -7,7 +7,7 @@ #include #include #include -#include +#include struct device *ipm; diff --git a/samples/subsys/ipc/ipm_mcux/src/main_master.c b/samples/subsys/ipc/ipm_mcux/src/main_master.c index 01a798e5629..8db88723b9d 100644 --- a/samples/subsys/ipc/ipm_mcux/src/main_master.c +++ b/samples/subsys/ipc/ipm_mcux/src/main_master.c @@ -7,7 +7,7 @@ #include #include #include -#include +#include struct device *ipm; int gcounter; diff --git a/samples/subsys/ipc/ipm_mhu_dual_core/src/main.c b/samples/subsys/ipc/ipm_mhu_dual_core/src/main.c index 65bf10aa5ac..c53a0463430 100644 --- a/samples/subsys/ipc/ipm_mhu_dual_core/src/main.c +++ b/samples/subsys/ipc/ipm_mhu_dual_core/src/main.c @@ -6,7 +6,7 @@ #include #include -#include +#include enum cpu_id_t { MHU_CPU0 = 0, diff --git a/samples/subsys/ipc/openamp/remote/src/main.c b/samples/subsys/ipc/openamp/remote/src/main.c index 73ac52908cf..4870565077c 100644 --- a/samples/subsys/ipc/openamp/remote/src/main.c +++ b/samples/subsys/ipc/openamp/remote/src/main.c @@ -7,7 +7,7 @@ */ #include -#include +#include #include #include #include diff --git a/samples/subsys/ipc/openamp/src/main.c b/samples/subsys/ipc/openamp/src/main.c index d52b7ffe14c..73b9b04df5b 100644 --- a/samples/subsys/ipc/openamp/src/main.c +++ b/samples/subsys/ipc/openamp/src/main.c @@ -7,7 +7,7 @@ */ #include -#include +#include #include #include #include diff --git a/soc/arc/quark_se_c1000_ss/soc_config.c b/soc/arc/quark_se_c1000_ss/soc_config.c index 5899fe7e65b..2954be23bdb 100644 --- a/soc/arc/quark_se_c1000_ss/soc_config.c +++ b/soc/arc/quark_se_c1000_ss/soc_config.c @@ -9,7 +9,7 @@ #include "soc.h" #if CONFIG_IPM_QUARK_SE -#include +#include #include static int arc_quark_se_ipm_init(void) diff --git a/soc/x86/intel_quark/quark_se/soc_config.c b/soc/x86/intel_quark/quark_se/soc_config.c index d28b443e8bf..651383cf1d9 100644 --- a/soc/x86/intel_quark/quark_se/soc_config.c +++ b/soc/x86/intel_quark/quark_se/soc_config.c @@ -13,7 +13,7 @@ #include #if CONFIG_IPM_QUARK_SE -#include +#include #include static int x86_quark_se_ipm_init(void) diff --git a/tests/drivers/ipm/src/ipm_dummy.c b/tests/drivers/ipm/src/ipm_dummy.c index 256295468ad..e7a5f6ea3e7 100644 --- a/tests/drivers/ipm/src/ipm_dummy.c +++ b/tests/drivers/ipm/src/ipm_dummy.c @@ -7,7 +7,7 @@ */ #include -#include +#include #include #include #include diff --git a/tests/drivers/ipm/src/ipm_dummy.h b/tests/drivers/ipm/src/ipm_dummy.h index 5a141f5e6ec..5b55ace9b04 100644 --- a/tests/drivers/ipm/src/ipm_dummy.h +++ b/tests/drivers/ipm/src/ipm_dummy.h @@ -10,7 +10,7 @@ #include #include -#include +#include /* Arbitrary */ #define DUMMY_IPM_DATA_WORDS 4 diff --git a/tests/drivers/ipm/src/main.c b/tests/drivers/ipm/src/main.c index 8fcfd0dc4c2..08c2e9f349c 100644 --- a/tests/drivers/ipm/src/main.c +++ b/tests/drivers/ipm/src/main.c @@ -5,7 +5,7 @@ */ #include -#include +#include #include #include #include