1 /* 2 * Copyright (c) 2017, Xilinx Inc. and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 /* 8 * @file generic/device.c 9 * @brief Generic libmetal device operations. 10 */ 11 12 #include <metal/device.h> 13 #include <metal/io.h> 14 #include <metal/sys.h> 15 #include <metal/utilities.h> 16 metal_generic_dev_sys_open(struct metal_device * dev)17int metal_generic_dev_sys_open(struct metal_device *dev) 18 { 19 struct metal_io_region *io; 20 unsigned int i; 21 22 /* map I/O memory regions */ 23 for (i = 0; i < dev->num_regions; i++) { 24 io = &dev->regions[i]; 25 if (!io->size) 26 break; 27 metal_sys_io_mem_map(io); 28 } 29 30 return 0; 31 } 32 33