diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2026-05-27 17:14:05 +0200 |
|---|---|---|
| committer | Helge Deller <deller@gmx.de> | 2026-06-09 16:00:11 +0200 |
| commit | 98c2b2551b22d975f8f94ad19169a06339da3d8a (patch) | |
| tree | 9466ca3bb5e06dfd52991ddaf779c13a3d6f9880 /drivers/video/fbdev | |
| parent | 2f4230fad9a7af4ebfbadbc3df5c1d99dc9320b1 (diff) | |
| download | lwn-98c2b2551b22d975f8f94ad19169a06339da3d8a.tar.gz lwn-98c2b2551b22d975f8f94ad19169a06339da3d8a.zip | |
fbdev: Do not export fbcon from fbdev
There are no callers of fbcon outside fbdev. Move the declarations
into the internal header.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/core/fb_chrdev.c | 2 | ||||
| -rw-r--r-- | drivers/video/fbdev/core/fbcon.c | 1 | ||||
| -rw-r--r-- | drivers/video/fbdev/core/fbcon.h | 50 | ||||
| -rw-r--r-- | drivers/video/fbdev/core/fbmem.c | 2 |
4 files changed, 52 insertions, 3 deletions
diff --git a/drivers/video/fbdev/core/fb_chrdev.c b/drivers/video/fbdev/core/fb_chrdev.c index 035e67d2c28f..ba1d0bc214c5 100644 --- a/drivers/video/fbdev/core/fb_chrdev.c +++ b/drivers/video/fbdev/core/fb_chrdev.c @@ -3,10 +3,10 @@ #include <linux/compat.h> #include <linux/console.h> #include <linux/fb.h> -#include <linux/fbcon.h> #include <linux/major.h> #include "fb_internal.h" +#include "fbcon.h" /* * We hold a reference to the fb_info in file->private_data, diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c index a5e197b7b234..6bcfe874e60e 100644 --- a/drivers/video/fbdev/core/fbcon.c +++ b/drivers/video/fbdev/core/fbcon.c @@ -70,7 +70,6 @@ #include <linux/printk.h> #include <linux/slab.h> #include <linux/fb.h> -#include <linux/fbcon.h> #include <linux/vt_kern.h> #include <linux/selection.h> #include <linux/font.h> diff --git a/drivers/video/fbdev/core/fbcon.h b/drivers/video/fbdev/core/fbcon.h index 321cc7f44baa..407d207b14f1 100644 --- a/drivers/video/fbdev/core/fbcon.h +++ b/drivers/video/fbdev/core/fbcon.h @@ -11,6 +11,7 @@ #ifndef _VIDEO_FBCON_H #define _VIDEO_FBCON_H +#include <linux/compiler_types.h> #include <linux/font.h> #include <linux/types.h> #include <linux/vt_buffer.h> @@ -19,6 +20,11 @@ #include <asm/io.h> +struct fb_blit_caps; +struct fb_info; +struct fb_var_screeninfo; +struct fb_videomode; + /* * This is the interface between the low-level console driver and the * low-level frame buffer device @@ -233,4 +239,48 @@ static inline int get_attribute(struct fb_info *info, u16 c) (void) (&_r == &_v); \ (i == FB_ROTATE_UR || i == FB_ROTATE_UD) ? _r : _v; }) +#ifdef CONFIG_FRAMEBUFFER_CONSOLE +void __init fb_console_init(void); +void __exit fb_console_exit(void); +int fbcon_fb_registered(struct fb_info *info); +void fbcon_fb_unregistered(struct fb_info *info); +void fbcon_fb_unbind(struct fb_info *info); +void fbcon_suspended(struct fb_info *info); +void fbcon_resumed(struct fb_info *info); +int fbcon_mode_deleted(struct fb_info *info, + struct fb_videomode *mode); +void fbcon_delete_modelist(struct list_head *head); +void fbcon_new_modelist(struct fb_info *info); +void fbcon_get_requirement(struct fb_info *info, + struct fb_blit_caps *caps); +void fbcon_fb_blanked(struct fb_info *info, int blank); +int fbcon_modechange_possible(struct fb_info *info, + struct fb_var_screeninfo *var); +void fbcon_update_vcs(struct fb_info *info, bool all); +void fbcon_remap_all(struct fb_info *info); +int fbcon_set_con2fb_map_ioctl(void __user *argp); +int fbcon_get_con2fb_map_ioctl(void __user *argp); +#else +static inline void fb_console_init(void) {} +static inline void fb_console_exit(void) {} +static inline int fbcon_fb_registered(struct fb_info *info) { return 0; } +static inline void fbcon_fb_unregistered(struct fb_info *info) {} +static inline void fbcon_fb_unbind(struct fb_info *info) {} +static inline void fbcon_suspended(struct fb_info *info) {} +static inline void fbcon_resumed(struct fb_info *info) {} +static inline int fbcon_mode_deleted(struct fb_info *info, + struct fb_videomode *mode) { return 0; } +static inline void fbcon_delete_modelist(struct list_head *head) {} +static inline void fbcon_new_modelist(struct fb_info *info) {} +static inline void fbcon_get_requirement(struct fb_info *info, + struct fb_blit_caps *caps) {} +static inline void fbcon_fb_blanked(struct fb_info *info, int blank) {} +static inline int fbcon_modechange_possible(struct fb_info *info, + struct fb_var_screeninfo *var) { return 0; } +static inline void fbcon_update_vcs(struct fb_info *info, bool all) {} +static inline void fbcon_remap_all(struct fb_info *info) {} +static inline int fbcon_set_con2fb_map_ioctl(void __user *argp) { return 0; } +static inline int fbcon_get_con2fb_map_ioctl(void __user *argp) { return 0; } +#endif + #endif /* _VIDEO_FBCON_H */ diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index ecadbc58abff..e5221653ec2b 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -14,13 +14,13 @@ #include <linux/console.h> #include <linux/export.h> #include <linux/fb.h> -#include <linux/fbcon.h> #include <linux/lcd.h> #include <linux/leds.h> #include <video/nomodeset.h> #include "fb_internal.h" +#include "fbcon.h" /* * Frame buffer device initialization and setup routines |
