From: Peter Rosin <hidden> Date: 2019-08-27 11:09:19
Hi!
The first patch fixes the fact that there are two items numbered "4" in
the list of fbcon options. This bug is a teenager...
The second patch extends that list with a new option that allows the
user to display any number of logos (that fits on the screen). I need it
to limit the display to only one logo instead of one for each CPU core.
Changes since v2
- make -1 the default and make 0 disable the logo [Geert Uytterhoeven]
- cpu -> CPU
Changes since v1
- do not needlessly export fb_logo_count [Matthew Wilcox]
- added patch 3/3, which removes the export of fb_center_logo
Cheers,
Peter
Peter Rosin (3):
fbdev: fix numbering of fbcon options
fbdev: fbmem: allow overriding the number of bootup logos
fbdev: fbmem: avoid exporting fb_center_logo
Documentation/fb/fbcon.rst | 13 +++++++++----
drivers/video/fbdev/core/fbcon.c | 7 +++++++
drivers/video/fbdev/core/fbmem.c | 13 +++++++++----
include/linux/fb.h | 1 +
4 files changed, 26 insertions(+), 8 deletions(-)
--
2.11.0
From: Peter Rosin <hidden> Date: 2019-08-27 11:09:23
Three shall be the number thou shalt count, and the number of the
counting shall be three. Four shalt thou not count...
One! Two! Five!
Fixes: efb985f6b265 ("[PATCH] fbcon: Console Rotation - Add framebuffer console documentation")
Signed-off-by: Peter Rosin <redacted>
---
Documentation/fb/fbcon.rst | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
@@ -127,7 +127,7 @@ C. Boot options is typically located on the same video card. Thus, the consoles that are controlled by the VGA console will be garbled.-4. fbcon=rotate:<n>+5. fbcon=rotate:<n> This option changes the orientation angle of the console display. The value 'n' accepts the following:
@@ -152,21 +152,21 @@ C. Boot options Actually, the underlying fb driver is totally ignorant of console rotation.-5. fbcon=margin:<color>+6. fbcon=margin:<color> This option specifies the color of the margins. The margins are the leftover area at the right and the bottom of the screen that are not used by text. By default, this area will be black. The 'color' value is an integer number that depends on the framebuffer driver being used.-6. fbcon=nodefer+7. fbcon=nodefer If the kernel is compiled with deferred fbcon takeover support, normally the framebuffer contents, left in place by the firmware/bootloader, will be preserved until there actually is some text is output to the console. This option causes fbcon to bind immediately to the fbdev device.-7. fbcon=logo-pos:<location>+8. fbcon=logo-pos:<location> The only possible 'location' is 'center' (without quotes), and when given, the bootup logo is moved from the default top-left corner
From: Peter Rosin <hidden> Date: 2019-08-27 11:09:28
Probably most useful if you want no logo at all, or if you only want one
logo regardless of how many CPU cores you have.
Signed-off-by: Peter Rosin <redacted>
---
Documentation/fb/fbcon.rst | 5 +++++
drivers/video/fbdev/core/fbcon.c | 7 +++++++
drivers/video/fbdev/core/fbmem.c | 12 +++++++++---
include/linux/fb.h | 1 +
4 files changed, 22 insertions(+), 3 deletions(-)
@@ -174,6 +174,11 @@ C. Boot options displayed due to multiple CPUs, the collected line of logos is moved as a whole.+9. fbcon=logo-count:<n>++ The value 'n' overrides the number of bootup logos. 0 disables the+ logo, and -1 gives the default which is the number of online CPUs.+C. Attaching, Detaching and Unloading Before going on to how to attach, detach and unload the framebuffer console, an
@@ -620,7 +622,7 @@ int fb_prepare_logo(struct fb_info *info, int rotate)memset(&fb_logo,0,sizeof(structlogo_data));if(info->flags&FBINFO_MISC_TILEBLITTING||-info->fbops->owner)+info->fbops->owner||!fb_logo_count)return0;if(info->fix.visual==FB_VISUAL_DIRECTCOLOR){
@@ -686,10 +688,14 @@ int fb_prepare_logo(struct fb_info *info, int rotate)intfb_show_logo(structfb_info*info,introtate){+unsignedintcount;inty;-y=fb_show_logo_line(info,rotate,fb_logo.logo,0,-num_online_cpus());+if(!fb_logo_count)+return0;++count=fb_logo_count<0?num_online_cpus():fb_logo_count;+y=fb_show_logo_line(info,rotate,fb_logo.logo,0,count);y=fb_show_extra_logos(info,y,rotate);returny;
From: Peter Rosin <hidden> Date: 2019-08-27 11:09:32
The variable is only ever used from fbcon.c which is linked into the
same module. Therefore, the export is not needed.
Signed-off-by: Peter Rosin <redacted>
---
drivers/video/fbdev/core/fbmem.c | 1 -
1 file changed, 1 deletion(-)
On Tue, Aug 27, 2019 at 1:09 PM Peter Rosin [off-list ref] wrote:
Three shall be the number thou shalt count, and the number of the
counting shall be three. Four shalt thou not count...
One! Two! Five!
Fixes: efb985f6b265 ("[PATCH] fbcon: Console Rotation - Add framebuffer console documentation")
Signed-off-by: Peter Rosin <redacted>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
On Tue, Aug 27, 2019 at 1:09 PM Peter Rosin [off-list ref] wrote:
Probably most useful if you want no logo at all, or if you only want one
logo regardless of how many CPU cores you have.
Signed-off-by: Peter Rosin <redacted>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Hi Peter,
On Tue, Aug 27, 2019 at 1:09 PM Peter Rosin [off-list ref] wrote:
The variable is only ever used from fbcon.c which is linked into the
same module. Therefore, the export is not needed.
Signed-off-by: Peter Rosin <redacted>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
But note that the same is true for fb_class, so perhaps it can be added
(or better, removed ;-)?
Once drivers/staging/olpc_dcon/olpc_dcon.c stops abusing registered_fb[]
and num_registered_fb, those can go, too.
Does anyone remembe why au1200fb calls fb_prepare_logo() and fb_show_logo()
itself?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Three shall be the number thou shalt count, and the number of the
counting shall be three. Four shalt thou not count...
One! Two! Five!
Fixes: efb985f6b265 ("[PATCH] fbcon: Console Rotation - Add framebuffer console documentation")
Signed-off-by: Peter Rosin <redacted>
Thanks, patch queued for v5.6 (also sorry for the delay).
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
@@ -127,7 +127,7 @@ C. Boot options is typically located on the same video card. Thus, the consoles that are controlled by the VGA console will be garbled.-4. fbcon=rotate:<n>+5. fbcon=rotate:<n> This option changes the orientation angle of the console display. The value 'n' accepts the following:
@@ -152,21 +152,21 @@ C. Boot options Actually, the underlying fb driver is totally ignorant of console rotation.-5. fbcon=margin:<color>+6. fbcon=margin:<color> This option specifies the color of the margins. The margins are the leftover area at the right and the bottom of the screen that are not used by text. By default, this area will be black. The 'color' value is an integer number that depends on the framebuffer driver being used.-6. fbcon=nodefer+7. fbcon=nodefer If the kernel is compiled with deferred fbcon takeover support, normally the framebuffer contents, left in place by the firmware/bootloader, will be preserved until there actually is some text is output to the console. This option causes fbcon to bind immediately to the fbdev device.-7. fbcon=logo-pos:<location>+8. fbcon=logo-pos:<location> The only possible 'location' is 'center' (without quotes), and when given, the bootup logo is moved from the default top-left corner
Probably most useful if you want no logo at all, or if you only want one
logo regardless of how many CPU cores you have.
Signed-off-by: Peter Rosin <redacted>
Thanks, patch queued for v5.6 (also sorry for the delay).
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
@@ -174,6 +174,11 @@ C. Boot options displayed due to multiple CPUs, the collected line of logos is moved as a whole.+9. fbcon=logo-count:<n>++ The value 'n' overrides the number of bootup logos. 0 disables the+ logo, and -1 gives the default which is the number of online CPUs.+C. Attaching, Detaching and Unloading Before going on to how to attach, detach and unload the framebuffer console, an
@@ -620,7 +622,7 @@ int fb_prepare_logo(struct fb_info *info, int rotate)memset(&fb_logo,0,sizeof(structlogo_data));if(info->flags&FBINFO_MISC_TILEBLITTING||-info->fbops->owner)+info->fbops->owner||!fb_logo_count)return0;if(info->fix.visual=FB_VISUAL_DIRECTCOLOR){
@@ -686,10 +688,14 @@ int fb_prepare_logo(struct fb_info *info, int rotate)intfb_show_logo(structfb_info*info,introtate){+unsignedintcount;inty;-y=fb_show_logo_line(info,rotate,fb_logo.logo,0,-num_online_cpus());+if(!fb_logo_count)+return0;++count=fb_logo_count<0?num_online_cpus():fb_logo_count;+y=fb_show_logo_line(info,rotate,fb_logo.logo,0,count);y=fb_show_extra_logos(info,y,rotate);returny;
Hi Peter,
On Tue, Aug 27, 2019 at 1:09 PM Peter Rosin [off-list ref] wrote:
quoted
The variable is only ever used from fbcon.c which is linked into the
same module. Therefore, the export is not needed.
Signed-off-by: Peter Rosin <redacted>
Thanks, patch queued for v5.6 (also sorry for the delay).
quoted
But note that the same is true for fb_class, so perhaps it can be added
(or better, removed ;-)?
Right. Someone please let me know if 3/3 needs to be extended. I'm also
happy to just drop it...
Please send incremental patch for fb_class.
quoted
Once drivers/staging/olpc_dcon/olpc_dcon.c stops abusing registered_fb[]
and num_registered_fb, those can go, too.
Does anyone remembe why au1200fb calls fb_prepare_logo() and fb_show_logo()
itself?
Maybe there should be a small drivers/video/fbdev/core/fbmem.h file (or
something) with these "internal" declarations, to hide some clutter currently
in include/linux/fb.h?
Sounds like a good idea.
Feels like that could be done later, after these other cleanups you mention,
so that the new file has a few more things to declare.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics