summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSaravana Kannan <saravanak@google.com>2019-10-28 15:00:23 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-11-02 18:05:17 +0100
commitbcbbcfd57247f4c2976055995e5760fb576aae1e (patch)
treecb6db68c1ef8083ff8eb7899b2fd6d1a1dbce94c /include
parent05ef983e0d65a31b370a4e1b93c1efd490ae778f (diff)
downloadlinux-stable-bcbbcfd57247f4c2976055995e5760fb576aae1e.tar.gz
linux-stable-bcbbcfd57247f4c2976055995e5760fb576aae1e.tar.bz2
linux-stable-bcbbcfd57247f4c2976055995e5760fb576aae1e.zip
driver core: Allow a device to wait on optional suppliers
Before this change, if a device is waiting on suppliers, it's assumed that all those suppliers are needed for the device to probe successfully. This change allows marking a devices as waiting only on optional suppliers. This allows a device to wait on suppliers (and link to them as soon as they are available) without preventing the device from being probed. Signed-off-by: Saravana Kannan <saravanak@google.com> Link: https://lore.kernel.org/r/20191028220027.251605-3-saravanak@google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/device.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 82890e1b8f08..d1bcc8f122f6 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -1155,6 +1155,8 @@ enum dl_dev_state {
* @consumers: List of links to consumer devices.
* @needs_suppliers: Hook to global list of devices waiting for suppliers.
* @defer_sync: Hook to global list of devices that have deferred sync_state.
+ * @need_for_probe: If needs_suppliers is on a list, this indicates if the
+ * suppliers are needed for probe or not.
* @status: Driver status information.
*/
struct dev_links_info {
@@ -1162,6 +1164,7 @@ struct dev_links_info {
struct list_head consumers;
struct list_head needs_suppliers;
struct list_head defer_sync;
+ bool need_for_probe;
enum dl_dev_state status;
};