• Archit Taneja's avatar
    drm/fb_helper: Add drm_fb_helper functions to manage fb_info creation · b8017d6c
    Archit Taneja authored
    Every drm driver calls framebuffer_alloc, fb_alloc_cmap,
    unregister_framebuffer, fb_dealloc_cmap and framebuffer_release in
    order to emulate fbdev support.
    
    Create drm_fb_helper functions that perform the above operations.
    
    This is part of an effort to prevent drm drivers from calling fbdev
    functions directly. It also removes repetitive code from drivers.
    
    There are some drivers that call alloc_apertures after framebuffer_alloc
    and some that don't. Make the helper always call alloc_apertures. This
    would make certain drivers allocate memory for apertures but not use
    them. Since it's a small amount of memory, it shouldn't be an issue.
    
    v2:
    - Added kerneldocs
    - Added a check for non-NULL fb_helper before proceeding. This will
      make the helpers work when we have a module param for fbdev emulation
    Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    b8017d6c
drm_fb_helper.c 52.6 KB