On Tue, Feb 2, 2021 at 6:12 AM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote: > > On Tue, Feb 2, 2021 at 5:33 AM Saravana Kannan <saravanak@xxxxxxxxxx> wrote: > > > > During the initial parsing of firmware by fw_devlink, fw_devlink might > > infer that some supplier firmware nodes would get populated as devices. > > But the inference is not always correct. This patch tries to logically > > detect and fix such mistakes as boot progresses or more devices probe. > > > > fw_devlink makes a fundamental assumption that once a device binds to a > > driver, it will populate (i.e: add as struct devices) all the child > > firmware nodes that could be populated as devices (if they aren't > > populated already). > > > > So, whenever a device probes, we check all its child firmware nodes. If > > a child firmware node has a corresponding device populated, we don't > > modify the child node or its descendants. However, if a child firmware > > node has not been populated as a device, we delete all the fwnode links > > where the child node or its descendants are suppliers. This ensures that > > no other device is blocked on a firmware node that will never be > > populated as a device. We also mark such fwnodes as NOT_DEVICE, so that > > no new fwnode links are created with these nodes as suppliers. > > > > Fixes: e590474768f1 ("driver core: Set fw_devlink=on by default") > > Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx> > > Still ACKed. Thanks. I didn't want to add your Ack when I made changes since your Ack. -Saravana