kernel-fxtec-pro1x/Documentation/driver-api
Saravana Kannan 712b3a0b22 FROMGIT: driver core: Add support for linking devices during device addition
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
2019-10-07 16:44:12 -07:00
..
80211
dmaengine
firmware Documentation: update firmware loader fallback reference 2018-07-07 17:45:25 +02:00
fpga docs: fpga: document fpga manager flags 2018-09-30 08:49:55 -07:00
gpio docs: Fix some broken references 2018-06-15 18:10:01 -03:00
iio
pm
soundwire Documentation: soundwire: Add more documentation 2018-05-11 21:47:02 +05:30
usb USB: core: Fix bug caused by duplicate interface PM usage counter 2019-05-08 07:21:44 +02:00
basics.rst
clk.rst This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
conf.py
device-io.rst
device_connection.rst
device_link.rst FROMGIT: driver core: Add support for linking devices during device addition 2019-10-07 16:44:12 -07:00
dma-buf.rst dma-fence: Polish kernel-doc for dma-fence.c 2018-07-04 12:18:37 +02:00
edac.rst
frame-buffer.rst
hsi.rst
i2c.rst
index.rst SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
infrastructure.rst dma-mapping: move all DMA mapping code to kernel/dma 2018-06-14 08:50:37 +02:00
input.rst
libata.rst libata: remove ata_sff_data_xfer_noirq() 2018-07-11 10:45:28 -07:00
message-based.rst
misc_devices.rst
miscellaneous.rst
mtdnand.rst mtd: nand: correct documentation for NAND_ECC_HW8_512 2018-07-23 09:39:42 -06:00
pci.rst
pinctl.rst
rapidio.rst
regulator.rst
s390-drivers.rst
scsi.rst
slimbus.rst slimbus: stream: add stream support 2018-07-07 17:25:23 +02:00
sound.rst
spi.rst
target.rst
uio-howto.rst docs: uio-howto.rst: use a code block to solve a warning 2018-05-10 15:42:43 -06:00
vme.rst
w1.rst