Line data Source code
1 0 : /*
2 : * Copyright 2023 Google LLC
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_EMUL_STUB_DEVICE_H_
8 : #define ZEPHYR_INCLUDE_EMUL_STUB_DEVICE_H_
9 :
10 : #include <zephyr/device.h>
11 : #include <zephyr/devicetree.h>
12 :
13 : /*
14 : * Needed for emulators without corresponding DEVICE_DT_DEFINE drivers
15 : */
16 :
17 0 : struct emul_stub_dev_data {
18 : /* Stub */
19 : };
20 0 : struct emul_stub_dev_config {
21 : /* Stub */
22 : };
23 0 : struct emul_stub_dev_api {
24 : /* Stub */
25 : };
26 :
27 : /* For every instance of a DT_DRV_COMPAT stub out a device for that instance */
28 0 : #define EMUL_STUB_DEVICE(n) \
29 : __maybe_unused static int emul_init_stub_##n(const struct device *dev) \
30 : { \
31 : ARG_UNUSED(dev); \
32 : return 0; \
33 : } \
34 : \
35 : static struct emul_stub_dev_data stub_data_##n; \
36 : static struct emul_stub_dev_config stub_config_##n; \
37 : static struct emul_stub_dev_api stub_api_##n; \
38 : DEVICE_DT_INST_DEFINE(n, &emul_init_stub_##n, NULL, &stub_data_##n, &stub_config_##n, \
39 : POST_KERNEL, CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &stub_api_##n);
40 :
41 : #endif /* ZEPHYR_INCLUDE_EMUL_STUB_DEVICE_H_ */
|