On 8/29/23 16:15, Thomas Zimmermann wrote:
Only build fb_logo.c if CONFIG_LOGO has been selected. Otherwise provide empty implementations of the contained interfaces and avoid using the exported variables. Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
...
diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c index f157a5a1dffc..24b038510a71 100644 --- a/drivers/video/fbdev/core/fbcon.c +++ b/drivers/video/fbdev/core/fbcon.c @@ -474,15 +474,19 @@ static int __init fb_console_setup(char *this_opt) if (!strncmp(options, "logo-pos:", 9)) { options += 9; +#ifdef CONFIG_LOGO if (!strcmp(options, "center")) fb_center_logo = true; +#endif
IMHO, *sometimes* it makes sense to not use #ifdef and code it instead like this: if (IS_ENABLED(CONFIG_LOGO) && !strcmp(options, "center")) ... That way the compiler will optimize that code away as well, but in addition it will compile-check that you have correct coding independend if CONFIG_LOGO is set or not.
continue; } if (!strncmp(options, "logo-count:", 11)) { options += 11; +#ifdef CONFIG_LOGO if (*options) fb_logo_count = simple_strtol(options, &options, 0); +#endif
same here. Helge