drm/i915: Localise the fbdev console lock frobbing
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 13 Aug 2014 12:09:46 +0000 (13:09 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 13 Aug 2014 13:39:23 +0000 (15:39 +0200)
commit82e3b8c130f046b7dd1e7898c10e40edb52fee6d
treefd356f0f4a7557e34ed4cdee0bf65feb474ea654
parent7312e2ddec1ffe4511a85a2814df44e79ded3c1d
drm/i915: Localise the fbdev console lock frobbing

Rather than take and release the console_lock() around a non-existent
DRM_I915_FBDEV, move the lock acquisation into the callee where it will
be compiled out by the config option entirely. This includes moving the
deferred fb_set_suspend() dance and encapsulating it entirely within
intel_fbdev.c.

v2: Use an integral work item so that we can explicitly flush the work
upon suspend/unload.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
[danvet: Add the flush_work in fbdev_fini per the mailing list
discussion. And s/BUG_ON/WARN_ON/ because.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_fbdev.c