712b3a0b22
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 e2ae9bcc4aaacda04edb75c4eea93384719efaa5 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git driver-core-next) Change-Id: I97ffa57fa71588bf198e78d8b5a313b860b17bf5 |
||
---|---|---|
.. | ||
80211 | ||
dmaengine | ||
firmware | ||
fpga | ||
gpio | ||
iio | ||
pm | ||
soundwire | ||
usb | ||
basics.rst | ||
clk.rst | ||
conf.py | ||
device-io.rst | ||
device_connection.rst | ||
device_link.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 |