[01/18] drm/omap: fix up pdev_remove
diff mbox

Message ID 1397252175-14227-2-git-send-email-daniel.vetter@ffwll.ch
State New, archived
Headers show

Commit Message

Daniel Vetter April 11, 2014, 9:35 p.m. UTC
Dave accidentally merged the wrong version of the patch in

commit fd3c02531461924853db65f2664db361b53a70d3
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Dec 11 11:34:26 2013 +0100

    drm/omap: call drm_put_dev directly in ->remove

which did not include the fix from Rob's review: omapdrm is split into
the drm driver and the dmm driver (yeah, I've complained about that
almost-impossible-to-spot difference, too). We need to unregister the
dmm driver in the pdev_remove hook.

Cc: Dave Airlie <airlied@redhat.com>
Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/omapdrm/omap_drv.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Rob Clark April 12, 2014, 3:26 p.m. UTC | #1
On Fri, Apr 11, 2014 at 5:35 PM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Dave accidentally merged the wrong version of the patch in
>
> commit fd3c02531461924853db65f2664db361b53a70d3
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Wed Dec 11 11:34:26 2013 +0100
>
>     drm/omap: call drm_put_dev directly in ->remove
>
> which did not include the fix from Rob's review: omapdrm is split into
> the drm driver and the dmm driver (yeah, I've complained about that
> almost-impossible-to-spot difference, too). We need to unregister the
> dmm driver in the pdev_remove hook.
>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks

Reviewed-by: Rob Clark <robdclark@gmail.com>

> ---
>  drivers/gpu/drm/omapdrm/omap_drv.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> index bf39fcc49e0f..89557989737d 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -699,6 +699,8 @@ static int pdev_remove(struct platform_device *device)
>         omap_disconnect_dssdevs();
>         omap_crtc_pre_uninit();
>
> +       platform_driver_unregister(&omap_dmm_driver);
> +
>         drm_put_dev(platform_get_drvdata(device));
>         return 0;
>  }
> --
> 1.8.5.2
>
Tomi Valkeinen April 14, 2014, 6:26 a.m. UTC | #2
Hi,

On 12/04/14 00:35, Daniel Vetter wrote:
> Dave accidentally merged the wrong version of the patch in
> 
> commit fd3c02531461924853db65f2664db361b53a70d3
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Wed Dec 11 11:34:26 2013 +0100
> 
>     drm/omap: call drm_put_dev directly in ->remove
> 
> which did not include the fix from Rob's review: omapdrm is split into
> the drm driver and the dmm driver (yeah, I've complained about that
> almost-impossible-to-spot difference, too). We need to unregister the
> dmm driver in the pdev_remove hook.
> 
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/omapdrm/omap_drv.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> index bf39fcc49e0f..89557989737d 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -699,6 +699,8 @@ static int pdev_remove(struct platform_device *device)
>  	omap_disconnect_dssdevs();
>  	omap_crtc_pre_uninit();
>  
> +	platform_driver_unregister(&omap_dmm_driver);
> +
>  	drm_put_dev(platform_get_drvdata(device));
>  	return 0;
>  }

Your patch does fix the "drm/omap: call drm_put_dev directly in
->remove" patch, but I think the unregistering is not right if done in
pdev_remove.

I sent this patch a few weeks ago:

http://www.spinics.net/lists/dri-devel/msg56464.html

It unregisters the dmm driver at the module exit function, which is the
proper place for it as the dmm driver is registered in the module init
function.

 Tomi
Daniel Vetter April 16, 2014, 8:15 a.m. UTC | #3
On Mon, Apr 14, 2014 at 09:26:14AM +0300, Tomi Valkeinen wrote:
> Hi,
> 
> On 12/04/14 00:35, Daniel Vetter wrote:
> > Dave accidentally merged the wrong version of the patch in
> > 
> > commit fd3c02531461924853db65f2664db361b53a70d3
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Wed Dec 11 11:34:26 2013 +0100
> > 
> >     drm/omap: call drm_put_dev directly in ->remove
> > 
> > which did not include the fix from Rob's review: omapdrm is split into
> > the drm driver and the dmm driver (yeah, I've complained about that
> > almost-impossible-to-spot difference, too). We need to unregister the
> > dmm driver in the pdev_remove hook.
> > 
> > Cc: Dave Airlie <airlied@redhat.com>
> > Cc: Rob Clark <robdclark@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> >  drivers/gpu/drm/omapdrm/omap_drv.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> > index bf39fcc49e0f..89557989737d 100644
> > --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> > +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> > @@ -699,6 +699,8 @@ static int pdev_remove(struct platform_device *device)
> >  	omap_disconnect_dssdevs();
> >  	omap_crtc_pre_uninit();
> >  
> > +	platform_driver_unregister(&omap_dmm_driver);
> > +
> >  	drm_put_dev(platform_get_drvdata(device));
> >  	return 0;
> >  }
> 
> Your patch does fix the "drm/omap: call drm_put_dev directly in
> ->remove" patch, but I think the unregistering is not right if done in
> pdev_remove.
> 
> I sent this patch a few weeks ago:
> 
> http://www.spinics.net/lists/dri-devel/msg56464.html
> 
> It unregisters the dmm driver at the module exit function, which is the
> proper place for it as the dmm driver is registered in the module init
> function.

I don't mind how this is getting fixed, I just don't like when regression
caused by my patches are left lingering too long ;-)

Have you merged your patch for 3.14-rc already so that I can drop this one
here?

Thanks, Daniel
Tomi Valkeinen April 16, 2014, 8:27 a.m. UTC | #4
On 16/04/14 11:15, Daniel Vetter wrote:

> I don't mind how this is getting fixed, I just don't like when regression
> caused by my patches are left lingering too long ;-)
> 
> Have you merged your patch for 3.14-rc already so that I can drop this one
> here?

Did you mean 3.15-rc? It's on my branch for 3.15 omapdrm fixes, which
I'm about to send today.

 Tomi
Daniel Vetter April 16, 2014, 5:05 p.m. UTC | #5
On Wed, Apr 16, 2014 at 10:27 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 16/04/14 11:15, Daniel Vetter wrote:
>
>> I don't mind how this is getting fixed, I just don't like when regression
>> caused by my patches are left lingering too long ;-)
>>
>> Have you merged your patch for 3.14-rc already so that I can drop this one
>> here?
>
> Did you mean 3.15-rc? It's on my branch for 3.15 omapdrm fixes, which
> I'm about to send today.

Yeah, 3.15-fixes, typoe'ed that ;-)
-Daniel

Patch
diff mbox

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index bf39fcc49e0f..89557989737d 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -699,6 +699,8 @@  static int pdev_remove(struct platform_device *device)
 	omap_disconnect_dssdevs();
 	omap_crtc_pre_uninit();
 
+	platform_driver_unregister(&omap_dmm_driver);
+
 	drm_put_dev(platform_get_drvdata(device));
 	return 0;
 }