diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2019-05-28 05:03:01 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2019-06-12 14:30:39 -0400 |
commit | fe2d70d6f6ff038c20705c34695bd34ac072af14 (patch) | |
tree | 262fd2946998ba34af89c59da7aeb64552af40b2 /include/linux/fbcon.h | |
parent | 1cd51b5d200dec292577a4656803d8aeff54ad51 (diff) |
fbcon: Call con2fb_map functions directly
These are actually fbcon ioctls which just happen to be exposed
through /dev/fb*. They completely ignore which fb_info they're called
on, and I think the userspace tool even hardcodes to /dev/fb0.
Hence just forward the entire thing to fbcon.c wholesale.
Note that this patch drops the fb_lock/unlock on the set side. Since
the ioctl can operate on any fb (as passed in through
con2fb.framebuffer) this is bogus. Also note that fbcon.c in general
never calls fb_lock on anything, so this has been badly broken
already.
With this the last user of the fbcon notifier callback is gone, and we
can garbage collect that too.
v2: add missing uaccess.h include (alpha fails to compile otherwise),
reported by kbuild.
v3: Remember to also drop the #defines (Maarten)
v4: Add the static inline to dummy functions.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Yisheng Xie <ysxie@foxmail.com>
Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: Peter Rosin <peda@axentia.se>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190528090304.9388-31-daniel.vetter@ffwll.ch
Diffstat (limited to 'include/linux/fbcon.h')
-rw-r--r-- | include/linux/fbcon.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/fbcon.h b/include/linux/fbcon.h index 69f900d289b2..ff5596dd30f8 100644 --- a/include/linux/fbcon.h +++ b/include/linux/fbcon.h | |||
@@ -17,6 +17,8 @@ void fbcon_get_requirement(struct fb_info *info, | |||
17 | void fbcon_fb_blanked(struct fb_info *info, int blank); | 17 | void fbcon_fb_blanked(struct fb_info *info, int blank); |
18 | void fbcon_update_vcs(struct fb_info *info, bool all); | 18 | void fbcon_update_vcs(struct fb_info *info, bool all); |
19 | void fbcon_remap_all(struct fb_info *info); | 19 | void fbcon_remap_all(struct fb_info *info); |
20 | int fbcon_set_con2fb_map_ioctl(void __user *argp); | ||
21 | int fbcon_get_con2fb_map_ioctl(void __user *argp); | ||
20 | #else | 22 | #else |
21 | static inline void fb_console_init(void) {} | 23 | static inline void fb_console_init(void) {} |
22 | static inline void fb_console_exit(void) {} | 24 | static inline void fb_console_exit(void) {} |
@@ -33,6 +35,8 @@ static inline void fbcon_get_requirement(struct fb_info *info, | |||
33 | static inline void fbcon_fb_blanked(struct fb_info *info, int blank) {} | 35 | static inline void fbcon_fb_blanked(struct fb_info *info, int blank) {} |
34 | static inline void fbcon_update_vcs(struct fb_info *info, bool all) {} | 36 | static inline void fbcon_update_vcs(struct fb_info *info, bool all) {} |
35 | static inline void fbcon_remap_all(struct fb_info *info) {} | 37 | static inline void fbcon_remap_all(struct fb_info *info) {} |
38 | static inline int fbcon_set_con2fb_map_ioctl(void __user *argp) { return 0; } | ||
39 | static inline int fbcon_get_con2fb_map_ioctl(void __user *argp) { return 0; } | ||
36 | #endif | 40 | #endif |
37 | 41 | ||
38 | #endif /* _LINUX_FBCON_H */ | 42 | #endif /* _LINUX_FBCON_H */ |