On Wed, Jun 12, 2024 at 5:11 PM Daniel Vetter <daniel@xxxxxxxx> wrote: > On Wed, Jun 12, 2024 at 07:49:31AM -0700, Doug Anderson wrote: (...) > > The problem is that the ordering is wrong, I think. Even if the OS was > > calling driver shutdown functions in the perfect order (which I'm not > > convinced about since panels aren't always child "struct device"s of > > the DRM device), the OS should be calling panel shutdown _before_ > > shutting down the DRM device. That means that with your suggestion: > > > > 1. Shutdown starts and panel is on. > > > > 2. OS calls panel shutdown call, which prints warnings because panel > > is still on. > > > > 3. OS calls DRM driver shutdown call, which prints warnings because > > someone else turned the panel off. > > Uh, that's a _much_ more fundamental issue. > > The fix for that is telling the driver core about this dependency with > device_link_add. Unfortuantely, despite years of me trying to push for > this, drm_bridge and drm_panel still don't automatically add these, > because the situation is a really complex mess. > > Probably need to read dri-devel archives for all the past attempts around > device_link_add. I think involving Saravana Kannan in the discussions around this is the right thing to do, because he knows how to get devicelinks to do the right thing. If we can describe what devicelink needs to do to get this ordering right, I'm pretty sure Saravana can tell us how to do it. Yours, Linus Walleij