linux/drivers/of
Saravana Kannan 5e6669387e of/platform: Pause/resume sync state during init and of_platform_populate()
When all the top level devices are populated from DT during kernel
init, the supplier devices could be added and probed before the
consumer devices are added and linked to the suppliers. To avoid the
sync_state() callback from being called prematurely, pause the
sync_state() callbacks before populating the devices and resume them
at late_initcall_sync().

Similarly, when children devices are populated from a module using
of_platform_populate(), there could be supplier-consumer dependencies
between the children devices that are populated. To avoid the same
problem with sync_state() being called prematurely, pause and resume
sync_state() callbacks across of_platform_populate().

Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20190904211126.47518-6-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-04 17:30:19 +02:00
..
unittest-data of: overlay: check prevents multiple fragments touching same property 2018-11-08 22:12:03 -08:00
Kconfig dma-mapping: improve selection of dma_declare_coherent availability 2019-02-20 07:26:35 -07:00
Makefile PCI: Move OF-related PCI functions into PCI core 2018-01-17 17:36:39 -06:00
address.c of: address: Add support for the parent DMA bus 2019-04-10 16:33:47 -05:00
base.c of: restore old handling of cells_name=NULL in of_*_phandle_with_args() 2019-09-19 08:33:02 -05:00
device.c of/device.c: fix the wrong comments 2019-05-01 13:41:07 -05:00
dynamic.c of: Remove struct device_node.type pointer 2019-01-10 16:24:44 -06:00
fdt.c fdt: Update CRC check for rng-seed 2019-08-27 12:27:07 +01:00
fdt_address.c of: Use SPDX license tag for DT files 2018-01-08 08:22:45 -06:00
irq.c of: irq: fix a trivial typo in a doc comment 2019-08-14 20:12:16 -06:00
kobj.c of: overlay: add missing of_node_get() in __of_attach_node_sysfs 2018-11-08 22:10:53 -08:00
of_mdio.c of: mdio: Fix a signedness bug in of_phy_get_and_connect() 2019-09-27 10:19:09 +02:00
of_net.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
of_numa.c of, numa: Validate some distance map rules 2018-11-08 12:44:34 -06:00
of_private.h of: __of_detach_node() - remove node from phandle cache 2018-12-21 12:42:36 -06:00
of_reserved_mem.c of: reserved-memory: ignore disabled memory-region nodes 2019-05-24 15:53:23 -05:00
overlay.c of: Remove struct device_node.type pointer 2019-01-10 16:24:44 -06:00
pdt.c of: Remove struct device_node.type pointer 2019-01-10 16:24:44 -06:00
platform.c of/platform: Pause/resume sync state during init and of_platform_populate() 2019-10-04 17:30:19 +02:00
property.c of: property: Add functional dependency link from DT bindings 2019-10-04 17:29:50 +02:00
resolver.c of: resolver: Add of_node_put() before return and break 2019-08-12 16:52:24 -06:00
unittest.c of: unittest: Add of_node_put() before return 2019-08-27 11:21:54 -05:00