Bootloaders often leave some system resources enabled such as clocks, regulators, interconnects etc. We want to keep these resources enabled until all their consumers are probed. These resources are often shared, so we must wait for all the consumers to come up, before deciding whether to turn them off or change the configuration. This patchset is trying to solve the above problem just for the on-chip interconnects. The problem is solved by allowing the interconnect providers to specify an initial bandwidth value, which is enforced during boot as a floor value, while the requests from all consumers are being collected. Then the sync_state() callback is used to signal when all consumers have been probed, meaning that the floor bandwidth is not needed anymore and the framework is ready to re-aggregate and process all requests. Georgi Djakov (4): interconnect: Add sync state support interconnect: Add get_bw() callback interconnect: qcom: smd845: Use icc_sync_state interconnect: qcom: osm-l3: Use icc_sync_state drivers/interconnect/core.c | 57 +++++++++++++++++++++++++++ drivers/interconnect/qcom/osm-l3.c | 9 +++++ drivers/interconnect/qcom/sdm845.c | 9 +++++ include/linux/interconnect-provider.h | 5 +++ 4 files changed, 80 insertions(+)