Hi Saravana, Rafael, Stephen, I have observed an issue with a driver's ->sync_state() callback that doesn't get called, even if consumers/supplier device links conditions should have been satisfied. I have narrowed down the problem, but I am not sure what is the best solution to fix it, hence I am turning to you for some discussion/advice. I have two test platform drivers, one that matches on the "test,pm-domains-test" compatible string (this driver also has the ->sync_state() callback assigned) and another driver that matches on "test,runtime-pm-test". This is the relevant part in my DTS file: pm_domain_test { compatible = "test,pm-domains-test"; pdParent: power-domain-parent { #power-domain-cells = <0>; }; pdChild: power-domain-child { #power-domain-cells = <0>; power-domains = <&pdParent>; }; }; soctest: soctest { compatible = "simple-bus"; rpmtest0 { compatible = "test,runtime-pm-test"; power-domains = <&pdParent>; }; }; During boot the fw_devlinks are being created and their corresponding links. With some debug enabled this shows some of the interesting parts that are being printed to the log: [ 0.041539] device: 'pm_domain_test': device_add [ 0.041629] OF: Not linking pm_domain_test to pm_domain_test - is descendant [ 0.041718] device: 'soctest': device_add [ 0.041803] OF: Linking rpmtest0 (consumer) to pm_domain_test (supplier) [ 0.041829] device: 'platform:pm_domain_test--platform:soctest': device_add [ 0.041892] platform soctest: Linked as a sync state only consumer to pm_domain_test [ 0.041957] OF: create child: /soctest/rpmtest0 [ 0.041995] device: 'soctest:rpmtest0': device_add [ 0.042072] device: 'platform:pm_domain_test--platform:soctest:rpmtest0': device_add [ 0.042132] devices_kset: Moving soctest:rpmtest0 to end of list [ 0.042141] platform soctest:rpmtest0: Linked as a consumer to pm_domain_test The interesting thing here is the "sync state only" link that gets created. I assume there are good reasons for creating this link, even if I fail to understand exactly why. In any case, the sync state only link never gets dropped, which I assume is because there is no driver getting bound for the "soctest" device (it has only the "simple-bus" compatible). In other words, it doesn't matter that both the rpmtest0 and the pm_domain_test devices are probed, thus satisfying the supplier/consumer conditions, the ->sync_state() callback doesn't get called anyway. Can you perhaps help to point me in a direction of how to best fix this problem? Kind regards Ulf Hansson