[Intel-gfx] [PATCH v2 15/15] staging: vboxvideo: Use drm_fb_helper_lastclose()
Daniel Vetter
daniel at ffwll.ch
Tue Oct 31 16:35:51 UTC 2017
On Tue, Oct 31, 2017 at 03:40:40PM +0100, Noralf Trønnes wrote:
>
> Den 31.10.2017 11.32, skrev Daniel Vetter:
> > On Mon, Oct 30, 2017 at 04:39:51PM +0100, Noralf Trønnes wrote:
> > > This driver can use drm_fb_helper_lastclose() as its .lastclose callback.
> > >
> > > Cc: Hans de Goede <hdegoede at redhat.com>
> > > Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
> > > Reviewed-by: Hans de Goede <hdegoede at redhat.com>
> > > ---
> > > drivers/staging/vboxvideo/vbox_drv.c | 2 +-
> > > drivers/staging/vboxvideo/vbox_drv.h | 1 -
> > > drivers/staging/vboxvideo/vbox_main.c | 12 ------------
> > > 3 files changed, 1 insertion(+), 14 deletions(-)
> > >
> > > diff --git a/drivers/staging/vboxvideo/vbox_drv.c b/drivers/staging/vboxvideo/vbox_drv.c
> > > index e18642e5027e..a4d8d7898e3d 100644
> > > --- a/drivers/staging/vboxvideo/vbox_drv.c
> > > +++ b/drivers/staging/vboxvideo/vbox_drv.c
> > > @@ -229,7 +229,7 @@ static struct drm_driver driver = {
> > > .load = vbox_driver_load,
> > > .unload = vbox_driver_unload,
> > > - .lastclose = vbox_driver_lastclose,
> > > + .lastclose = drm_fb_helper_lastclose,
> > > .master_set = vbox_master_set,
> > > .master_drop = vbox_master_drop,
> > > diff --git a/drivers/staging/vboxvideo/vbox_drv.h b/drivers/staging/vboxvideo/vbox_drv.h
> > > index 4b9302703b36..7273d7e9bc9b 100644
> > > --- a/drivers/staging/vboxvideo/vbox_drv.h
> > > +++ b/drivers/staging/vboxvideo/vbox_drv.h
> > > @@ -128,7 +128,6 @@ struct vbox_private {
> > > int vbox_driver_load(struct drm_device *dev, unsigned long flags);
> > > void vbox_driver_unload(struct drm_device *dev);
> > > -void vbox_driver_lastclose(struct drm_device *dev);
> > > struct vbox_gem_object;
> > > diff --git a/drivers/staging/vboxvideo/vbox_main.c b/drivers/staging/vboxvideo/vbox_main.c
> > > index 80bd039fa08e..c3d756620fd5 100644
> > > --- a/drivers/staging/vboxvideo/vbox_main.c
> > > +++ b/drivers/staging/vboxvideo/vbox_main.c
> > > @@ -421,18 +421,6 @@ void vbox_driver_unload(struct drm_device *dev)
> > > vbox_hw_fini(vbox);
> > > }
> > > -/**
> > > - * @note this is described in the DRM framework documentation. AST does not
> > > - * have it, but we get an oops on driver unload if it is not present.
> > > - */
> > > -void vbox_driver_lastclose(struct drm_device *dev)
> > > -{
> > > - struct vbox_private *vbox = dev->dev_private;
> > > -
> > > - if (vbox->fbdev)
> > Hm, except gma500 all the drivers have this NULL check here. I'm not sure
> > whether that's just cargo-culted or whether that's needed, but I'm wary
> > from slapping an Ack on the entire series as-is.
>
> I think it's cargo-culted because IIRC almost every driver bails out if
> fbdev init fails. So the only time the pointer is NULL is when fbdev
> emulation is compiled out. And in that case the check is not needed.
>
> vboxvideo for instance fails probing if fbdev init fails, and if it
> succeeds vbox->fbdev is always set.
>
> But anyhow, yeah, I think it's better that the driver maintainers verify
> this.
See my other mail, I was blind, I think it's all good.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list