drm/i915: Use normal fb deref for the fbcon framebuffer
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 10 Feb 2014 17:00:38 +0000 (18:00 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 12 Feb 2014 17:53:02 +0000 (18:53 +0100)
commitef2d633e9bcfdb73e536ca81b835dd015fe24ceb
treed16d298b2b78362a08235cb5f97686465e87d1e3
parenta0bae57f5b9d61c64f5c2675a53fec27baf583d9
drm/i915: Use normal fb deref for the fbcon framebuffer

Now that it's a normally kmalloce buffer we can use the usual cleanup
paths. The upside here is that if we get the refcounting wrong will be
able to catch it, since the drm core will complain about leftover
framebuffers and kref about underflows.

v2: Kill intel_framebuffer_fini - no longer needed now that we
refcount all fbs properly and only confusing.

v3: We actually still need to call unregister_private to remove the fb
from the idr and drop the idr reference - the final unref doesn't do
that. So much for remembering my own fb liftime rules. Reported by
Imre Deak.

Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> (v2)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_fbdev.c