• Saravana Kannan's avatar
    driver core: Add support for linking devices during device addition · e2ae9bcc
    Saravana Kannan authored
    The firmware corresponding to a device (dev.fwnode) might be able to
    provide functional dependency information between a device and its
    supplier and consumer devices.  Tracking this functional dependency
    allows optimizing device probe order and informing a supplier when all
    its consumers have probed (and thereby actively managing their
    resources).
    
    The existing device links feature allows tracking and using
    supplier-consumer relationships. So, this patch adds the add_links()
    fwnode callback to allow firmware to create device links for each
    device as the device is added.
    
    However, when consumer devices are added, they might not have a supplier
    device to link to despite needing mandatory resources/functionality from
    one or more suppliers. A waiting_for_suppliers list is created to track
    such consumers and retry linking them when new devices get added.
    Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
    Link: https://lore.kernel.org/r/20190904211126.47518-3-saravanak@google.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    e2ae9bcc
device_link.rst 16.4 KB