Re: [PATCH v2 1/3] driver core: fw_devlink: Detect supplier devices that will never be added

From: Saravana Kannan
Date: Tue Feb 02 2021 - 14:37:41 EST


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