On Wed, May 19, 2021 at 5:25 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote: > > This series is from discussion we had on reordering the device lists for > drm shutdown paths[1]. I've introduced an 'aggregate' bus that we put > the aggregate device onto and then we probe the device once all the > components are probed and call component_add(). The probe/remove hooks > are where the bind/unbind calls go, and then a shutdown hook is added > that can be used to shutdown the drm display pipeline at the right time. > > This works for me on my sc7180 board, but I'm currently struggling with > the last patch where we migrate the msm driver. It runs into a runtime > PM problem where the parent device isn't runtime PM enabled yet. I'm > still trying to figure out a clean solution there. Moving runtime PM > around breaks boot and I think that's because the power domain is off. > > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx> > Cc: Rob Clark <robdclark@xxxxxxxxx> > Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> > Cc: Saravana Kannan <saravanak@xxxxxxxxxx> > > [1] https://lore.kernel.org/r/20210508074118.1621729-1-swboyd@xxxxxxxxxxxx > I skimmed through the series and in general the idea is good, but I'm not sure why each component user needs to be converted/"modern" before it can make use of the benefits of this series. Why not just have wrapper functions around the component ops that the new aggregate bus driver can just call? That'll give all the existing component users the new ability to use the new ops without having to have two versions. That'll also allow us to do other improvements (I have some in mind) that'll apply to all the component users instead of only the converted ones. -Saravana