From: Linus Torvalds Date: Tue, 13 Dec 2016 19:42:18 +0000 (-0800) Subject: Merge tag 'driver-core-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=098c30557a9a19827240aaadc137e4668157dc6b;p=linux-beck.git Merge tag 'driver-core-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here's the new driver core patches for 4.10-rc1. Big thing here is the nice addition of "functional dependencies" to the driver core. The idea has been talked about for a very long time, great job to Rafael for stepping up and implementing it. It's been tested for longer than the 4.9-rc1 date, we held off on merging it earlier in order to feel more comfortable about it. Other than that, it's just a handful of small other patches, some good cleanups to the mess that is the firmware class code, and we have a test driver for the deferred probe logic. All of these have been in linux-next for a while with no reported issues" * tag 'driver-core-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (30 commits) firmware: Correct handling of fw_state_wait() return value driver core: Silence device links sphinx warning firmware: remove warning at documentation generation time drivers: base: dma-mapping: Fix typo in dmam_alloc_non_coherent comments driver core: test_async: fix up typo found by 0-day firmware: move fw_state_is_done() into UHM section firmware: do not use fw_lock for fw_state protection firmware: drop bit ops in favor of simple state machine firmware: refactor loading status firmware: fix usermode helper fallback loading driver core: firmware_class: convert to use class_groups driver core: devcoredump: convert to use class_groups driver core: class: add class_groups support kernfs: Declare two local data structures static driver-core: fix platform_no_drv_owner.cocci warnings drivers/base/memory.c: Remove unused 'first_page' variable driver core: add CLASS_ATTR_WO() drivers: base: cacheinfo: support DT overrides for cache properties drivers: base: cacheinfo: add pr_fmt logging drivers: base: cacheinfo: fix boot error message when acpi is enabled ... --- 098c30557a9a19827240aaadc137e4668157dc6b diff --cc drivers/base/power/main.c index eb474c882ebe,04bcb11ed8de..48c6294e9c34 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@@ -1027,8 -1085,6 +1085,8 @@@ static int __device_suspend_noirq(struc TRACE_DEVICE(dev); TRACE_SUSPEND(0); - dpm_wait_for_children(dev, async); ++ dpm_wait_for_subordinate(dev, async); + if (async_error) goto Complete; @@@ -1174,8 -1232,6 +1232,8 @@@ static int __device_suspend_late(struc __pm_runtime_disable(dev, false); - dpm_wait_for_children(dev, async); ++ dpm_wait_for_subordinate(dev, async); + if (async_error) goto Complete; diff --cc include/linux/device.h index 94926d3ad6c6,67bbbee8fe02..491b4c0ca633 --- a/include/linux/device.h +++ b/include/linux/device.h @@@ -751,8 -817,9 +836,9 @@@ struct dev_links_info * on. This shrinks the "Board Support Packages" (BSPs) and * minimizes board-specific #ifdefs in drivers. * @driver_data: Private pointer for driver specific info. + * @links: Links to suppliers and consumers of this device. * @power: For device power management. - * See Documentation/power/devices.txt for details. + * See Documentation/power/admin-guide/devices.rst for details. * @pm_domain: Provide callbacks that are executed during system suspend, * hibernation, system resume and during runtime PM transitions * along with subsystem-level and driver-level callbacks.