linux/drivers/base
Feng Kan 494fd7b7ad PM / core: fix deferred probe breaking suspend resume order
When bridge and its endpoint is enumerated the devices are added to the
dpm list. Afterward, the bridge defers probe when IOMMU is not ready.
This causes the bridge to be moved to the end of the dpm list when
deferred probe kicks in. The order of the dpm list for bridge and
endpoint is reversed.

Add reordering code to move the bridge and its children and consumers to
the end of the pm list so the order for suspend and resume is not altered.
The code also move device and its children and consumers to the tail of
device_kset list if it is registered.

Signed-off-by: Toan Le <toanle@apm.com>
Signed-off-by: Feng Kan <fkan@apm.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-04-24 12:18:25 +02:00
..
firmware_loader firmware: add firmware_request_cache() to help with cache on reboot 2018-03-22 18:33:26 +01:00
power PM / wakeirq: Add wakeup name to dedicated wake irqs 2018-02-26 23:23:37 +01:00
regmap Merge remote-tracking branches 'regmap/topic/debugfs' and 'regmap/topic/mmio-clk' into regmap-next 2018-03-12 09:50:42 -07:00
test driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
arch_topology.c Revert "base: arch_topology: fix section mismatch build warnings" 2018-03-15 14:36:20 +01:00
attribute_container.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
base.h PM / core: fix deferred probe breaking suspend resume order 2018-04-24 12:18:25 +02:00
bus.c drivers: base: omit redundant interations 2017-12-18 16:47:27 +01:00
cacheinfo.c Merge 4.15-rc6 into driver-core-next 2018-01-02 14:56:51 +01:00
class.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
component.c component: add debugfs support 2017-12-18 16:51:11 +01:00
container.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
core.c PM / core: fix deferred probe breaking suspend resume order 2018-04-24 12:18:25 +02:00
cpu.c driver core: cpu: use put_device() if device_register fail 2018-03-15 14:37:04 +01:00
dd.c PM / core: fix deferred probe breaking suspend resume order 2018-04-24 12:18:25 +02:00
devcon.c drivers: base: Unified device connection lookup 2018-03-22 13:10:29 +01:00
devcoredump.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
devres.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
devtmpfs.c kernel: add ksys_unshare() helper; remove in-kernel calls to sys_unshare() 2018-04-02 20:16:06 +02:00
dma-coherent.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dma-contiguous.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
dma-mapping.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
driver.c drivers: base: omit redundant interations 2017-12-18 16:47:27 +01:00
firmware.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
hypervisor.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
init.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
isa.c Merge 4.15-rc3 into driver-core-next 2017-12-11 08:50:05 +01:00
Kconfig drm/graphics pull request for v4.16-rc1 2018-02-01 17:48:47 -08:00
Makefile Driver core patches for 4.17-rc1 2018-04-04 19:41:45 -07:00
map.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
memory.c mm: check __highest_present_section_nr directly in memory_dev_init() 2018-04-11 10:28:31 -07:00
module.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
node.c mm/memory_hotplug: optimize memory hotplug 2018-04-05 21:36:25 -07:00
pinctrl.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
platform-msi.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
platform.c driver core: platform: use put_device() if device_register fail 2018-03-15 14:37:04 +01:00
property.c device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
soc.c base: soc: use put_device() instead of kfree() 2018-03-15 14:37:03 +01:00
syscore.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
topology.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
transport_class.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00