parisc/stifb: Implement fb_is_primary_device()
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+
This commit is contained in:
parent
6ba6883648
commit
cf936af790
@ -12,9 +12,13 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
|
|||||||
pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE;
|
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)
|
static inline int fb_is_primary_device(struct fb_info *info)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _ASM_FB_H_ */
|
#endif /* _ASM_FB_H_ */
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include <asm/pdc.h>
|
#include <asm/pdc.h>
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/grfioctl.h>
|
#include <asm/grfioctl.h>
|
||||||
|
#include <asm/fb.h>
|
||||||
|
|
||||||
#include "../fbdev/sticore.h"
|
#include "../fbdev/sticore.h"
|
||||||
|
|
||||||
@ -1127,6 +1128,22 @@ int sti_call(const struct sti_struct *sti, unsigned long func,
|
|||||||
return ret;
|
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_AUTHOR("Philipp Rumpf, Helge Deller, Thomas Bogendoerfer");
|
||||||
MODULE_DESCRIPTION("Core STI driver for HP's NGLE series graphics cards in HP PARISC machines");
|
MODULE_DESCRIPTION("Core STI driver for HP's NGLE series graphics cards in HP PARISC machines");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL v2");
|
||||||
|
@ -1358,11 +1358,11 @@ static int __init stifb_init_fb(struct sti_struct *sti, int bpp_pref)
|
|||||||
goto out_err3;
|
goto out_err3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* save for primary gfx device detection & unregister_framebuffer() */
|
||||||
|
sti->info = info;
|
||||||
if (register_framebuffer(&fb->info) < 0)
|
if (register_framebuffer(&fb->info) < 0)
|
||||||
goto out_err4;
|
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",
|
fb_info(&fb->info, "%s %dx%d-%d frame buffer device, %s, id: %04x, mmio: 0x%04lx\n",
|
||||||
fix->id,
|
fix->id,
|
||||||
var->xres,
|
var->xres,
|
||||||
|
Loading…
Reference in New Issue
Block a user