[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAD=FV=VAMT4xNoFKan7UpCS8RRXvOPWqRXJGsMudvJ+eWOOuDw@mail.gmail.com>
Date: Thu, 14 Aug 2025 17:19:13 -0700
From: Doug Anderson <dianders@...omium.org>
To: Pin-yen Lin <treapking@...omium.org>
Cc: Neil Armstrong <neil.armstrong@...aro.org>, Jessica Zhang <quic_jesszhan@...cinc.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Jiri Kosina <jikos@...nel.org>, Benjamin Tissoires <bentiss@...nel.org>, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, linux-input@...r.kernel.org,
Chen-Yu Tsai <wenst@...omium.org>
Subject: Re: [PATCH v2 1/2] drm/panel: Allow powering on panel follower after
panel is enabled
Hi,
On Wed, Aug 13, 2025 at 5:51 AM Pin-yen Lin <treapking@...omium.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
Powered by blists - more mailing lists