mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
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: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20190904211126.47518-3-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry-picked from commit
|
||
|---|---|---|
| .. | ||
| 80211 | ||
| dmaengine | ||
| firmware | ||
| fpga | ||
| gpio | ||
| iio | ||
| pm | ||
| soundwire | ||
| usb | ||
| basics.rst | ||
| clk.rst | ||
| conf.py | ||
| device_connection.rst | ||
| device_link.rst | ||
| device-io.rst | ||
| dma-buf.rst | ||
| edac.rst | ||
| frame-buffer.rst | ||
| hsi.rst | ||
| i2c.rst | ||
| index.rst | ||
| infrastructure.rst | ||
| input.rst | ||
| libata.rst | ||
| message-based.rst | ||
| misc_devices.rst | ||
| miscellaneous.rst | ||
| mtdnand.rst | ||
| pci.rst | ||
| pinctl.rst | ||
| rapidio.rst | ||
| regulator.rst | ||
| s390-drivers.rst | ||
| scsi.rst | ||
| slimbus.rst | ||
| sound.rst | ||
| spi.rst | ||
| target.rst | ||
| uio-howto.rst | ||
| vme.rst | ||
| w1.rst | ||