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
  ...
        TRACE_DEVICE(dev);
        TRACE_SUSPEND(0);
  
-       dpm_wait_for_children(dev, async);
++      dpm_wait_for_subordinate(dev, async);
 +
        if (async_error)
                goto Complete;
  
  
        __pm_runtime_disable(dev, false);
  
-       dpm_wait_for_children(dev, async);
++      dpm_wait_for_subordinate(dev, async);
 +
        if (async_error)
                goto Complete;
  
 
   *            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.