Message ID | 20250206-hotplug-drm-bridge-v6-7-9d6f2c9c3058@bootlin.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add support for hot-pluggable DRM bridges | expand |
On Thu, Feb 06, 2025 at 07:14:22PM +0100, Luca Ceresoli wrote: > Having an DRM_MODE_CONNECTOR_Unknown connector type is consuidered bad, and considered > 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. > > Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> > > --- > > This patch was added in v6. > --- > drivers/gpu/drm/bridge/panel.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c index bd61e57e1a2dd3d1eb034da4f9213a6bcb3e6dc5..58570ff6952ca313b3def084262c9bb3772272ef 100644 --- a/drivers/gpu/drm/bridge/panel.c +++ b/drivers/gpu/drm/bridge/panel.c @@ -40,7 +40,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(). @@ -48,6 +48,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);
Having an DRM_MODE_CONNECTOR_Unknown connector type is consuidered 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. Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- This patch was added in v6. --- drivers/gpu/drm/bridge/panel.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)