On Thu, Apr 25, 2019 at 11:08 AM Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > On Wed, Apr 24, 2019 at 5:19 AM Benjamin Gaignard > <benjamin.gaignard@xxxxxx> wrote: > > > > It could happen that we need to control suspend/resume ordering between > > devices without obvious consumer/supplier link. For example when touchscreens > > and DSI panels share the same reset line, in this case we need to be sure > > of pm_runtime operations ordering between those two devices to correctly > > perform reset. > > DSI panel and touchscreen aren't sharing any heriachical relationship (unlike > > I2C client and I2C bus or regulator client and regulator provider) so we need > > to describe this in device-tree. > > Needing to know which touchscreen is attached to a panel could be > important to describe if you have multiple displays. > > Doesn't the reset subsystem already have some support for shared > resets? Seems like it could provide clients with struct device or > device_node ptrs to other devices sharing a reset. > > > > > This series introduce of_device_links_{add,remove} and devm_of_device_links_add() > > helpers to find and parse 'links-add' property in a device-tree node. > > Going to document that property somewhere? :) > > I think this is too generic and coupled to Linux. It doesn't have any > information as to what is the dependency or connection nor what the > direction of the dependency is. > > I'm not convinced we need to solve this generically vs. defining > something for this specific example. I am pretty sure there will be more drivers needing complex dependencies. Doesn't ACPI allow defining relationship between devices that goes beyond the tree structure? Thanks. -- Dmitry