@startuml

participant arm_io_storage order 1
participant io_storage order 2
participant io_fip order 3
participant io_memmap order 4

 -> arm_io_storage : arm_io_setup()

group io dev registration

arm_io_storage -> io_fip : register_io_dev_fip(&fip_dev_con)
io_fip -> io_storage : io_register_device(&dev_info_pool[])
note over io_storage
	devices[dev_count] = (fip_)dev_info_pool
	dev_count++
end note

arm_io_storage -> io_memmap : register_io_dev_memmap(&memmap_dev_con)
io_memmap -> io_storage : io_register_device(&memmap_dev_info)
note over io_storage
	devices[dev_count] = memmap_dev_info
	dev_count++
end note

arm_io_storage -> io_storage : io_dev_open(fip_dev_con, NULL, fip_dev_handle)
 io_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
activate io_storage
opt dev_open() on fip device
	io_storage -> io_fip : fip_dev_open(dev_spec, dev_info)
	note over io_fip
		dev_info = one of the
		"fip_dev_info" from
		dev_info_pool[]
	end note
end opt
deactivate io_storage


arm_io_storage -> io_storage : io_dev_open(memmap_dev_con, NULL, memmap_dev_handle)
io_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
activate io_storage
opt dev_open() on memmap device
	io_storage -> io_memmap : memmap_dev_open(dev_spec, dev_info)
	note over io_memmap
		dev_info = memmap_dev_info
	end note
end opt
deactivate io_storage

end group
@enduml
