diff mbox

drm/cirrus: Add missing drm_connector_unregister()

Message ID 20170718144933.9599-1-tiwai@suse.de (mailing list archive)
State New, archived
Headers show

Commit Message

Takashi Iwai July 18, 2017, 2:49 p.m. UTC
From: Egbert Eich <eich@suse.de>

When destroying connector unregister it.

Signed-off-by: Egbert Eich <eich@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 drivers/gpu/drm/cirrus/cirrus_mode.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Daniel Vetter July 19, 2017, 6:35 a.m. UTC | #1
On Tue, Jul 18, 2017 at 04:49:33PM +0200, Takashi Iwai wrote:
> From: Egbert Eich <eich@suse.de>
> 
> When destroying connector unregister it.
> 
> Signed-off-by: Egbert Eich <eich@suse.de>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>

drm_dev_unregister unregisters all connectors too. Explicitly calling
drm_connector_unregister should only be needed when you
a) screwed up your unload sequence. Get rid of ->unload and make sure you
call drm_dev_unregister first to fix this properly
b) hot-unplug. Doesn't apply to cirrus.

I think this can/should be just dropped.
-Daniel
> ---
>  drivers/gpu/drm/cirrus/cirrus_mode.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/cirrus/cirrus_mode.c b/drivers/gpu/drm/cirrus/cirrus_mode.c
> index 53f6f0f84206..e5531887646b 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_mode.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_mode.c
> @@ -502,6 +502,7 @@ static struct drm_encoder *cirrus_connector_best_encoder(struct drm_connector
>  
>  static void cirrus_connector_destroy(struct drm_connector *connector)
>  {
> +	drm_connector_unregister(connector);
>  	drm_connector_cleanup(connector);
>  	kfree(connector);
>  }
> -- 
> 2.13.2
>
Takashi Iwai July 19, 2017, 8:40 a.m. UTC | #2
On Wed, 19 Jul 2017 08:35:08 +0200,
Daniel Vetter wrote:
> 
> On Tue, Jul 18, 2017 at 04:49:33PM +0200, Takashi Iwai wrote:
> > From: Egbert Eich <eich@suse.de>
> > 
> > When destroying connector unregister it.
> > 
> > Signed-off-by: Egbert Eich <eich@suse.de>
> > Signed-off-by: Takashi Iwai <tiwai@suse.de>
> 
> drm_dev_unregister unregisters all connectors too. Explicitly calling
> drm_connector_unregister should only be needed when you
> a) screwed up your unload sequence. Get rid of ->unload and make sure you
> call drm_dev_unregister first to fix this properly
> b) hot-unplug. Doesn't apply to cirrus.
> 
> I think this can/should be just dropped.

OK, please drop this one.
Thanks for clarification!


Takashi
diff mbox

Patch

diff --git a/drivers/gpu/drm/cirrus/cirrus_mode.c b/drivers/gpu/drm/cirrus/cirrus_mode.c
index 53f6f0f84206..e5531887646b 100644
--- a/drivers/gpu/drm/cirrus/cirrus_mode.c
+++ b/drivers/gpu/drm/cirrus/cirrus_mode.c
@@ -502,6 +502,7 @@  static struct drm_encoder *cirrus_connector_best_encoder(struct drm_connector
 
 static void cirrus_connector_destroy(struct drm_connector *connector)
 {
+	drm_connector_unregister(connector);
 	drm_connector_cleanup(connector);
 	kfree(connector);
 }