lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 004/879] parisc/stifb: Implement fb_is_primary_device()
    Date
    From: Helge Deller <deller@gmx.de>

    commit cf936af790a3ef5f41ff687ec91bfbffee141278 upstream.

    Implement fb_is_primary_device() function, so that fbcon detects if this
    framebuffer belongs to the default graphics card which was used to start
    the system.

    Signed-off-by: Helge Deller <deller@gmx.de>
    Cc: stable@vger.kernel.org # v5.10+
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/parisc/include/asm/fb.h | 4 ++++
    drivers/video/console/sticore.c | 17 +++++++++++++++++
    drivers/video/fbdev/stifb.c | 4 ++--
    3 files changed, 23 insertions(+), 2 deletions(-)

    --- a/arch/parisc/include/asm/fb.h
    +++ b/arch/parisc/include/asm/fb.h
    @@ -12,9 +12,13 @@ static inline void fb_pgprotect(struct f
    pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE;
    }

    +#if defined(CONFIG_STI_CONSOLE) || defined(CONFIG_FB_STI)
    +int fb_is_primary_device(struct fb_info *info);
    +#else
    static inline int fb_is_primary_device(struct fb_info *info)
    {
    return 0;
    }
    +#endif

    #endif /* _ASM_FB_H_ */
    --- a/drivers/video/console/sticore.c
    +++ b/drivers/video/console/sticore.c
    @@ -30,6 +30,7 @@
    #include <asm/pdc.h>
    #include <asm/cacheflush.h>
    #include <asm/grfioctl.h>
    +#include <asm/fb.h>

    #include "../fbdev/sticore.h"

    @@ -1127,6 +1128,22 @@ int sti_call(const struct sti_struct *st
    return ret;
    }

    +/* check if given fb_info is the primary device */
    +int fb_is_primary_device(struct fb_info *info)
    +{
    + struct sti_struct *sti;
    +
    + sti = sti_get_rom(0);
    +
    + /* if no built-in graphics card found, allow any fb driver as default */
    + if (!sti)
    + return true;
    +
    + /* return true if it's the default built-in framebuffer driver */
    + return (sti->info == info);
    +}
    +EXPORT_SYMBOL(fb_is_primary_device);
    +
    MODULE_AUTHOR("Philipp Rumpf, Helge Deller, Thomas Bogendoerfer");
    MODULE_DESCRIPTION("Core STI driver for HP's NGLE series graphics cards in HP PARISC machines");
    MODULE_LICENSE("GPL v2");
    --- a/drivers/video/fbdev/stifb.c
    +++ b/drivers/video/fbdev/stifb.c
    @@ -1358,11 +1358,11 @@ static int __init stifb_init_fb(struct s
    goto out_err3;
    }

    + /* save for primary gfx device detection & unregister_framebuffer() */
    + sti->info = info;
    if (register_framebuffer(&fb->info) < 0)
    goto out_err4;

    - sti->info = info; /* save for unregister_framebuffer() */
    -
    fb_info(&fb->info, "%s %dx%d-%d frame buffer device, %s, id: %04x, mmio: 0x%04lx\n",
    fix->id,
    var->xres,

    \
     
     \ /
      Last update: 2022-09-17 16:25    [W:2.545 / U:0.704 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site