[PATCH v2 02/34] component: Introduce the aggregate bus_type
Stephen Boyd
swboyd at chromium.org
Thu Oct 7 18:40:07 UTC 2021
Quoting Saravana Kannan (2021-10-06 20:07:11)
> On Wed, Oct 6, 2021 at 12:38 PM Stephen Boyd <swboyd at chromium.org> wrote:
> > diff --git a/drivers/base/component.c b/drivers/base/component.c
> > index 0a41bbe14981..d99e99cabb99 100644
> > --- a/drivers/base/component.c
> > +++ b/drivers/base/component.c
[...]
> > + continue;
> > +
> > + /* Matches put in component_del() */
> > + get_device(&adev->dev);
> > + c->link = device_link_add(&adev->dev, c->dev,
> > + DL_FLAG_STATELESS | DL_FLAG_PM_RUNTIME);
>
> Remove the STATELESS flag and you'll get a bunch of other stuff done for free:
I tried that and it didn't work for me. The aggregate device never
probed and I was left with no display. Let me see if I can reproduce it
with logging to provide more details.
> 1. The aggregate device would get force unbound when the component
> devices unbind.
> 2. You don't need to explicitly keep track of and delete the link. If
> either of the devices get deleted, it'll get deleted automatically.
> 3. It will avoid useless probe attempts of the aggregate device before
> all the component devices are probed.
>
I don't think point 3 is happening right now. We only try to probe the
aggregate device once all components probe.
More information about the dri-devel
mailing list