1 /*
2 * Arm SCP/MCP Software
3 * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8 #include "config_stdio.h"
9
10 #include <mod_stdio.h>
11
12 #include <fwk_attributes.h>
13 #include <fwk_module.h>
14
15 #include <stdio.h>
16
17 static struct mod_stdio_element_cfg config_stdio_element_cfg[] = {
18 [CONFIG_STDIO_ELEMENT_IDX_STDIN] = {
19 .type = MOD_STDIO_ELEMENT_TYPE_STREAM,
20 .stream = NULL,
21 },
22
23 [CONFIG_STDIO_ELEMENT_IDX_STDOUT] = {
24 .type = MOD_STDIO_ELEMENT_TYPE_STREAM,
25 .stream = NULL,
26 },
27 };
28
29 static const struct fwk_element config_stdio_elements[] = {
30 [CONFIG_STDIO_ELEMENT_IDX_STDIN] = {
31 .name = "stdin",
32 .data = &config_stdio_element_cfg[CONFIG_STDIO_ELEMENT_IDX_STDIN],
33 },
34
35 [CONFIG_STDIO_ELEMENT_IDX_STDOUT] = {
36 .name = "stdout",
37 .data = &config_stdio_element_cfg[CONFIG_STDIO_ELEMENT_IDX_STDOUT],
38 },
39
40 [CONFIG_STDIO_ELEMENT_IDX_COUNT] = { 0 },
41 };
42
config_stdio_init(void)43 static FWK_CONSTRUCTOR void config_stdio_init(void)
44 {
45 config_stdio_element_cfg[CONFIG_STDIO_ELEMENT_IDX_STDIN].stream = stdin;
46 config_stdio_element_cfg[CONFIG_STDIO_ELEMENT_IDX_STDOUT].stream = stdout;
47 }
48
49 const struct fwk_module_config config_stdio = {
50 .elements = FWK_MODULE_STATIC_ELEMENTS_PTR(config_stdio_elements),
51 };
52