<dec f='src/src/sys/external/bsd/drm2/dist/include/drm/drm_crtc.h' l='948' type='void drm_framebuffer_cleanup(struct drm_framebuffer * fb)'/>
<def f='src/src/sys/external/bsd/drm2/dist/drm/drm_crtc.c' l='626' ll='634' type='void drm_framebuffer_cleanup(struct drm_framebuffer * fb)'/>
<doc f='src/src/sys/external/bsd/drm2/dist/drm/drm_crtc.c' l='609'>/**
 * drm_framebuffer_cleanup - remove a framebuffer object
 * @fb: framebuffer to remove
 *
 * Cleanup framebuffer. This function is intended to be used from the drivers
 * -&gt;destroy callback. It can also be used to clean up driver private
 *  framebuffers embedded into a larger structure.
 *
 * Note that this function does not remove the fb from active usuage - if it is
 * still used anywhere, hilarity can ensue since userspace could call getfb on
 * the id and get back -EINVAL. Obviously no concern at driver unload time.
 *
 * Also, the framebuffer will not be removed from the lookup idr - for
 * user-created framebuffers this will happen in in the rmfb ioctl. For
 * driver-private objects (e.g. for fbdev) drivers need to explicitly call
 * drm_framebuffer_unregister_private.
 */</doc>
<use f='src/src/sys/external/bsd/drm2/dist/drm/i915/intel_display.c' l='10890' u='c' c='intel_user_framebuffer_destroy'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_display.c' l='214' u='c' c='nouveau_user_framebuffer_destroy'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fbcon.c' l='493' u='c' c='nouveau_fbcon_destroy'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/radeon/radeon_display.c' l='1258' u='c' c='radeon_user_framebuffer_destroy'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fb.c' l='347' u='c' c='radeonfb_create'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fb.c' l='391' u='c' c='radeon_fbdev_destroy'/>
