init.c 702 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright (c) 2015, Xilinx Inc. and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #include <string.h>
  7. #include <metal/sys.h>
  8. int metal_init(const struct metal_init_params *params)
  9. {
  10. int error = 0;
  11. memset(&_metal, 0, sizeof(_metal));
  12. _metal.common.log_handler = params->log_handler;
  13. _metal.common.log_level = params->log_level;
  14. metal_list_init(&_metal.common.bus_list);
  15. metal_list_init(&_metal.common.generic_shmem_list);
  16. metal_list_init(&_metal.common.generic_device_list);
  17. error = metal_sys_init(params);
  18. if (error)
  19. return error;
  20. return error;
  21. }
  22. void metal_finish(void)
  23. {
  24. metal_sys_finish();
  25. memset(&_metal, 0, sizeof(_metal));
  26. }