1 /*
2  * Copyright (c) 2018, Pinecone Inc. and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*
8  * @file	nuttx/init.c
9  * @brief	NuttX libmetal initialization.
10  */
11 
12 #include <metal/device.h>
13 #include <metal/irq.h>
14 #include <metal/sys.h>
15 
16 struct metal_state _metal;
17 
metal_sys_init(const struct metal_init_params * params)18 int metal_sys_init(const struct metal_init_params *params)
19 {
20 	int ret = metal_cntr_irq_init();
21 	metal_unused(params);
22 
23 	if (ret >= 0)
24 		ret = metal_bus_register(&metal_generic_bus);
25 	return ret;
26 }
27 
metal_sys_finish(void)28 void metal_sys_finish(void)
29 {
30 	metal_bus_unregister(&metal_generic_bus);
31 }
32