Hi, On Wed, Aug 13, 2025 at 5:51 AM Pin-yen Lin <treapk...@chromium.org> wrote: > > @@ -230,6 +239,18 @@ void drm_panel_enable(struct drm_panel *panel) > if (ret < 0) > DRM_DEV_INFO(panel->dev, "failed to enable backlight: %d\n", > ret); > + > + list_for_each_entry(follower, &panel->followers, list) { > + if (!follower->funcs->panel_enabled) > + continue; > + > + ret = follower->funcs->panel_enabled(follower); > + if (ret < 0) > + dev_info(panel->dev, "%ps failed: %d\n", > + follower->funcs->panel_enabled, ret); > + } > +exit: > + mutex_unlock(&panel->follower_lock);
Extremely nitty nit: all of the other functions have a blank line before the "exit" label. :-P Could you match? > @@ -598,12 +641,18 @@ void drm_panel_remove_follower(struct > drm_panel_follower *follower) > > mutex_lock(&panel->follower_lock); > > - if (panel->prepared) { > + if (panel->prepared && follower->funcs->panel_unpreparing) { > ret = follower->funcs->panel_unpreparing(follower); > if (ret < 0) > dev_info(panel->dev, "%ps failed: %d\n", > follower->funcs->panel_unpreparing, ret); > } > + if (panel->enabled && follower->funcs->panel_disabling) { > + ret = follower->funcs->panel_disabling(follower); > + if (ret < 0) > + dev_info(panel->dev, "%ps failed: %d\n", > + follower->funcs->panel_disabling, ret); > + } The above order is incorrect. You should call "panel_disabling" before "panel_unpreparing" which will match the natural order things are called in. Also: please review kernel-docs for the following functions and update them for your patch: * drm_panel_add_follower() * drm_panel_remove_follower() -Doug