12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- @startuml
- participant arm_io_storage
- participant io_storage
- participant io_fip
- participant io_memmap
- -> 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
|