lib/sw_apps/libmetal_echo_demo/src/system/freertos/zynqmp_r5/zynqmp_amp_demo/sys_init.c
int platform_register_metal_device(void)
{
	unsigned int i;
	int ret;
	struct metal_device *dev;

	for (i = 0; i < sizeof(metal_dev_table)/sizeof(struct metal_device);
	     i++) {
		dev = &metal_dev_table[i];
		xil_printf("registering: %d, name=%s\n", i, dev->name);
		ret = metal_register_generic_device(dev);
		if (ret)
			return ret;
	}
	return 0;
}
/**
 * @brief platform_register_metal_device() - Statically Register libmetal
 *        devices.
 *        This function registers the IPI, shared memory and
 *        TTC devices to the libmetal generic bus.
 *        Libmetal uses bus structure to group the devices. Before you can
 *        access the device with libmetal device operation, you will need to
 *        register the device to a libmetal supported bus.
 *        For non-Linux system, libmetal only supports "generic" bus, which is
 *        used to manage the memory mapped devices.
 *
 * @return 0 - succeeded, non-zero for failures.
 */
@brief platform_register_metal_device() - Statically Register libmetal
devices.
This function registers the IPI, shared memory and
TTC devices to the libmetal generic bus.
Libmetal uses bus structure to group the devices. Before you can
access the device with libmetal device operation, you will need to
register the device to a libmetal supported bus.
For non-Linux system, libmetal only supports "generic" bus, which is
used to manage the memory mapped devices.

@return 0 - succeeded, non-zero for failures.
@brief platform_register_metal_device () - Statically Register libmetal devices . This function registers the IPI shared memory and TTC devices to the libmetal generic bus . Libmetal uses bus structure to group the devices . Before you can access the device with libmetal device operation you will need to register the device to a libmetal supported bus . For non - Linux system libmetal only supports " generic " bus which is used to manage the memory mapped devices . @return 0 - succeeded non - zero for failures .
int platform_register_metal_device(void)
{
	unsigned int i;
	int ret;
	struct metal_device *dev;
	for (i = 0; i < sizeof(metal_dev_table)/sizeof(struct metal_device);
	     i++) {
		dev = &metal_dev_table[i];
		xil_printf("registering: %d, name=%s\n", i, dev->name);
		ret = metal_register_generic_device(dev);
		if (ret)
			return ret;
	}
	return 0;
}
int platform_register_metal_device ( void ) { unsigned int i ; int ret ; struct metal_device * dev ; for ( i = 0 ; i < sizeof ( metal_dev_table ) / sizeof ( struct metal_device ) ; i ++ ) { dev = & metal_dev_table [ i ] ; xil_printf ( " \n " , i , dev -> name ) ; ret = metal_register_generic_device ( dev ) ; if ( ret ) return ret ; } return 0 ; }
@brief platform_register_metal_device() - Statically Register libmetal
        devices.
@brief platform_register_metal_device () - Statically Register libmetal devices .