blob: c6f330e6af32c7be9b19e350a2f908fb292f93cb [file] [log] [blame]
Louis Mayencourtb5469002019-07-15 13:56:03 +01001@startuml
2
Sandrine Bailleux03b274c2019-10-28 14:02:51 +01003participant arm_io_storage
4participant io_storage
5participant io_fip
6participant io_memmap
Louis Mayencourtb5469002019-07-15 13:56:03 +01007
8 -> arm_io_storage : arm_io_setup()
9
10group io dev registration
11
12arm_io_storage -> io_fip : register_io_dev_fip(&fip_dev_con)
13io_fip -> io_storage : io_register_device(&dev_info_pool[])
14note over io_storage
15 devices[dev_count] = (fip_)dev_info_pool
16 dev_count++
17end note
18
19arm_io_storage -> io_memmap : register_io_dev_memmap(&memmap_dev_con)
20io_memmap -> io_storage : io_register_device(&memmap_dev_info)
21note over io_storage
22 devices[dev_count] = memmap_dev_info
23 dev_count++
24end note
25
26arm_io_storage -> io_storage : io_dev_open(fip_dev_con, NULL, fip_dev_handle)
27 io_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
28activate io_storage
29opt dev_open() on fip device
30 io_storage -> io_fip : fip_dev_open(dev_spec, dev_info)
31 note over io_fip
32 dev_info = one of the
33 "fip_dev_info" from
34 dev_info_pool[]
35 end note
36end opt
37deactivate io_storage
38
39
40arm_io_storage -> io_storage : io_dev_open(memmap_dev_con, NULL, memmap_dev_handle)
41io_storage -> io_storage : dev_open(dev_con, dev_spec, handle)
42activate io_storage
43opt dev_open() on memmap device
44 io_storage -> io_memmap : memmap_dev_open(dev_spec, dev_info)
45 note over io_memmap
46 dev_info = memmap_dev_info
47 end note
48end opt
49deactivate io_storage
50
51end group
52@enduml