2021-02-19 21:57:48

by Lyude Paul

[permalink] [raw]
Subject: [PATCH 08/30] drm/bridge/analogix/anx78xx: Setup encoder before registering connector

Since encoder mappings for connectors are exposed to userspace, we should
be attaching the encoder before exposing the connector to userspace. Just a
drive-by fix for an issue I noticed while fixing up usages of
drm_dp_aux_init()/drm_dp_aux_register() across the tree.

Signed-off-by: Lyude Paul <[email protected]>
---
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
index ec4607dc01eb..338dd8531d4b 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
@@ -924,12 +924,6 @@ static int anx78xx_bridge_attach(struct drm_bridge *bridge,
drm_connector_helper_add(&anx78xx->connector,
&anx78xx_connector_helper_funcs);

- err = drm_connector_register(&anx78xx->connector);
- if (err) {
- DRM_ERROR("Failed to register connector: %d\n", err);
- return err;
- }
-
anx78xx->connector.polled = DRM_CONNECTOR_POLL_HPD;

err = drm_connector_attach_encoder(&anx78xx->connector,
@@ -939,6 +933,12 @@ static int anx78xx_bridge_attach(struct drm_bridge *bridge,
return err;
}

+ err = drm_connector_register(&anx78xx->connector);
+ if (err) {
+ DRM_ERROR("Failed to register connector: %d\n", err);
+ return err;
+ }
+
return 0;
}

--
2.29.2


2021-03-19 14:37:45

by Robert Foss

[permalink] [raw]
Subject: Re: [PATCH 08/30] drm/bridge/analogix/anx78xx: Setup encoder before registering connector

Hey Lyude,

Thanks for the patch, it looks good to me.

Reviewed-by: Robert Foss <[email protected]>

On Fri, 19 Feb 2021 at 22:56, Lyude Paul <[email protected]> wrote:
>
> Since encoder mappings for connectors are exposed to userspace, we should
> be attaching the encoder before exposing the connector to userspace. Just a
> drive-by fix for an issue I noticed while fixing up usages of
> drm_dp_aux_init()/drm_dp_aux_register() across the tree.
>
> Signed-off-by: Lyude Paul <[email protected]>
> ---
> drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> index ec4607dc01eb..338dd8531d4b 100644
> --- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> +++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> @@ -924,12 +924,6 @@ static int anx78xx_bridge_attach(struct drm_bridge *bridge,
> drm_connector_helper_add(&anx78xx->connector,
> &anx78xx_connector_helper_funcs);
>
> - err = drm_connector_register(&anx78xx->connector);
> - if (err) {
> - DRM_ERROR("Failed to register connector: %d\n", err);
> - return err;
> - }
> -
> anx78xx->connector.polled = DRM_CONNECTOR_POLL_HPD;
>
> err = drm_connector_attach_encoder(&anx78xx->connector,
> @@ -939,6 +933,12 @@ static int anx78xx_bridge_attach(struct drm_bridge *bridge,
> return err;
> }
>
> + err = drm_connector_register(&anx78xx->connector);
> + if (err) {
> + DRM_ERROR("Failed to register connector: %d\n", err);
> + return err;
> + }
> +
> return 0;
> }
>
> --
> 2.29.2
>