mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Robert Foss <rfoss@kernel.org>, Sasha Levin <sashal@kernel.org>,
	neil.armstrong@linaro.org, maarten.lankhorst@linux.intel.com,
	mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com,
	simona@ffwll.ch, dri-devel@lists.freedesktop.org
Subject: [PATCH AUTOSEL 6.14 18/44] drm/bridge: panel: forbid initializing a panel with unknown connector type
Date: Thu,  3 Apr 2025 15:12:47 -0400	[thread overview]
Message-ID: <20250403191313.2679091-18-sashal@kernel.org> (raw)
In-Reply-To: <20250403191313.2679091-1-sashal@kernel.org>

From: Luca Ceresoli <luca.ceresoli@bootlin.com>

[ Upstream commit b296955b3a740ecc8b3b08e34fd64f1ceabb8fb4 ]

Having an DRM_MODE_CONNECTOR_Unknown connector type is considered bad, and
drm_panel_bridge_add_typed() and derivatives are deprecated for this.

drm_panel_init() won't prevent initializing a panel with a
DRM_MODE_CONNECTOR_Unknown connector type. Luckily there are no in-tree
users doing it, so take this as an opportinuty to document a valid
connector type must be passed.

Returning an error if this rule is violated is not possible because
drm_panel_init() is a void function. Add at least a warning to make any
violations noticeable, especially to non-upstream drivers.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20250214-drm-assorted-cleanups-v7-5-88ca5827d7af@bootlin.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/drm_panel.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
index 9940e96d35e30..c627e42a7ce70 100644
--- a/drivers/gpu/drm/drm_panel.c
+++ b/drivers/gpu/drm/drm_panel.c
@@ -50,7 +50,7 @@ static LIST_HEAD(panel_list);
  * @dev: parent device of the panel
  * @funcs: panel operations
  * @connector_type: the connector type (DRM_MODE_CONNECTOR_*) corresponding to
- *	the panel interface
+ *	the panel interface (must NOT be DRM_MODE_CONNECTOR_Unknown)
  *
  * Initialize the panel structure for subsequent registration with
  * drm_panel_add().
@@ -58,6 +58,9 @@ static LIST_HEAD(panel_list);
 void drm_panel_init(struct drm_panel *panel, struct device *dev,
 		    const struct drm_panel_funcs *funcs, int connector_type)
 {
+	if (connector_type == DRM_MODE_CONNECTOR_Unknown)
+		DRM_WARN("%s: %s: a valid connector type is required!\n", __func__, dev_name(dev));
+
 	INIT_LIST_HEAD(&panel->list);
 	INIT_LIST_HEAD(&panel->followers);
 	mutex_init(&panel->follower_lock);
-- 
2.39.5


  parent reply	other threads:[~2025-04-03 19:14 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-03 19:12 [PATCH AUTOSEL 6.14 01/44] drm: allow encoder mode_set even when connectors change for crtc Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 02/44] drm/virtio: Set missing bo->attached flag Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 03/44] drm/rockchip: Don't change hdmi reference clock rate Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 04/44] drm/xe/bmg: Add new PCI IDs Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 05/44] drm/xe/ptl: Update the PTL pci id table Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 06/44] drm/xe/pf: Don't send BEGIN_ID if VF has no context/doorbells Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 07/44] drm/xe/vf: Don't try to trigger a full GT reset if VF Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 08/44] drm/amd/display: Update Cursor request mode to the beginning prefetch always Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 09/44] drm/amd/display: Guard Possible Null Pointer Dereference Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 10/44] drm/amd/display: add workaround flag to link to force FFE preset Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 11/44] drm/amdgpu: Unlocked unmap only clear page table leaves Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 12/44] drm: panel-orientation-quirks: Add support for AYANEO 2S Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 13/44] drm: panel-orientation-quirks: Add quirks for AYA NEO Flip DS and KB Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 14/44] drm: panel-orientation-quirks: Add quirk for AYA NEO Slide Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 15/44] drm: panel-orientation-quirks: Add new quirk for GPD Win 2 Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 16/44] drm: panel-orientation-quirks: Add quirk for OneXPlayer Mini (Intel) Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 17/44] drm/debugfs: fix printk format for bridge index Sasha Levin
2025-04-03 19:12 ` Sasha Levin [this message]
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 19/44] drm/amd/display: Update FIXED_VS Link Rate Toggle Workaround Usage Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 20/44] drm/amd/display: stop DML2 from removing pipes based on planes Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 21/44] drivers: base: devres: Allow to release group on device release Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 22/44] drm/amdkfd: clamp queue size to minimum Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 23/44] drm/amdkfd: Fix mode1 reset crash issue Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 24/44] drm/amdkfd: Fix pqm_destroy_queue race with GPU reset Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 25/44] drm/amdkfd: debugfs hang_hws skip GPU with MES Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 26/44] drm/xe/xelp: Move Wa_16011163337 from tunings to workarounds Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 27/44] drm/mediatek: mtk_dpi: Move the input_2p_en bit to platform data Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 28/44] drm/mediatek: mtk_dpi: Explicitly manage TVD clock in power on/off Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 29/44] drm/rockchip: stop passing non struct drm_device to drm_err() and friends Sasha Levin
2025-04-03 19:12 ` [PATCH AUTOSEL 6.14 30/44] PCI: Add Rockchip Vendor ID Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 31/44] drm/amdgpu: handle amdgpu_cgs_create_device() errors in amd_powerplay_create() Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 32/44] drm/amd/display: Prevent VStartup Overflow Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 33/44] PCI: Enable Configuration RRS SV early Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 34/44] drm/amdgpu: Fix the race condition for draining retry fault Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 35/44] PCI: Check BAR index for validity Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 36/44] PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 37/44] drm/amdgpu: grab an additional reference on the gang fence v2 Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 38/44] s390/pci: Support mmap() of PCI resources except for ISM devices Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 39/44] fbdev: omapfb: Add 'plane' value check Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 40/44] tracing: probe-events: Log error for exceeding the number of arguments Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 41/44] tracing: probe-events: Add comments about entry data storing code Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 42/44] ktest: Fix Test Failures Due to Missing LOG_FILE Directories Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 43/44] tpm, tpm_tis: Workaround failed command reception on Infineon devices Sasha Levin
2025-04-03 19:13 ` [PATCH AUTOSEL 6.14 44/44] tpm: End any active auth session before shutdown Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250403191313.2679091-18-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=airlied@gmail.com \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.ceresoli@bootlin.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=rfoss@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=stable@vger.kernel.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®