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