1*dbeace10SLouis Mayencourt@startuml 2*dbeace10SLouis Mayencourt 3*dbeace10SLouis Mayencourtparticipant arm_io_storage order 1 4*dbeace10SLouis Mayencourtparticipant io_storage order 2 5*dbeace10SLouis Mayencourtparticipant io_fip order 3 6*dbeace10SLouis Mayencourtparticipant io_memmap order 4 7*dbeace10SLouis Mayencourt 8*dbeace10SLouis Mayencourt -> arm_io_storage : arm_io_setup() 9*dbeace10SLouis Mayencourt 10*dbeace10SLouis Mayencourtgroup io dev registration 11*dbeace10SLouis Mayencourt 12*dbeace10SLouis Mayencourtarm_io_storage -> io_fip : register_io_dev_fip(&fip_dev_con) 13*dbeace10SLouis Mayencourtio_fip -> io_storage : io_register_device(&dev_info_pool[]) 14*dbeace10SLouis Mayencourtnote over io_storage 15*dbeace10SLouis Mayencourt devices[dev_count] = (fip_)dev_info_pool 16*dbeace10SLouis Mayencourt dev_count++ 17*dbeace10SLouis Mayencourtend note 18*dbeace10SLouis Mayencourt 19*dbeace10SLouis Mayencourtarm_io_storage -> io_memmap : register_io_dev_memmap(&memmap_dev_con) 20*dbeace10SLouis Mayencourtio_memmap -> io_storage : io_register_device(&memmap_dev_info) 21*dbeace10SLouis Mayencourtnote over io_storage 22*dbeace10SLouis Mayencourt devices[dev_count] = memmap_dev_info 23*dbeace10SLouis Mayencourt dev_count++ 24*dbeace10SLouis Mayencourtend note 25*dbeace10SLouis Mayencourt 26*dbeace10SLouis Mayencourtarm_io_storage -> io_storage : io_dev_open(fip_dev_con, NULL, fip_dev_handle) 27*dbeace10SLouis Mayencourt io_storage -> io_storage : dev_open(dev_con, dev_spec, handle) 28*dbeace10SLouis Mayencourtactivate io_storage 29*dbeace10SLouis Mayencourtopt dev_open() on fip device 30*dbeace10SLouis Mayencourt io_storage -> io_fip : fip_dev_open(dev_spec, dev_info) 31*dbeace10SLouis Mayencourt note over io_fip 32*dbeace10SLouis Mayencourt dev_info = one of the 33*dbeace10SLouis Mayencourt "fip_dev_info" from 34*dbeace10SLouis Mayencourt dev_info_pool[] 35*dbeace10SLouis Mayencourt end note 36*dbeace10SLouis Mayencourtend opt 37*dbeace10SLouis Mayencourtdeactivate io_storage 38*dbeace10SLouis Mayencourt 39*dbeace10SLouis Mayencourt 40*dbeace10SLouis Mayencourtarm_io_storage -> io_storage : io_dev_open(memmap_dev_con, NULL, memmap_dev_handle) 41*dbeace10SLouis Mayencourtio_storage -> io_storage : dev_open(dev_con, dev_spec, handle) 42*dbeace10SLouis Mayencourtactivate io_storage 43*dbeace10SLouis Mayencourtopt dev_open() on memmap device 44*dbeace10SLouis Mayencourt io_storage -> io_memmap : memmap_dev_open(dev_spec, dev_info) 45*dbeace10SLouis Mayencourt note over io_memmap 46*dbeace10SLouis Mayencourt dev_info = memmap_dev_info 47*dbeace10SLouis Mayencourt end note 48*dbeace10SLouis Mayencourtend opt 49*dbeace10SLouis Mayencourtdeactivate io_storage 50*dbeace10SLouis Mayencourt 51*dbeace10SLouis Mayencourtend group 52*dbeace10SLouis Mayencourt@enduml 53