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)17 int 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