diff options
author | Thomas Zimmermann <tzimmermann@suse.de> | 2022-04-29 12:08:30 +0200 |
---|---|---|
committer | Thomas Zimmermann <tzimmermann@suse.de> | 2022-05-03 16:04:21 +0200 |
commit | 5905585103276b7c14bb9a7de4b575216cb6dac4 (patch) | |
tree | b440972605773f8144366c0d96394ce32136f1d2 /drivers/hid | |
parent | 594e9c04b5864b4b8b151ef4ba9521c59e0f5c54 (diff) | |
download | linux-stable-5905585103276b7c14bb9a7de4b575216cb6dac4.tar.gz linux-stable-5905585103276b7c14bb9a7de4b575216cb6dac4.tar.bz2 linux-stable-5905585103276b7c14bb9a7de4b575216cb6dac4.zip |
fbdev: Put mmap for deferred I/O into drivers
The fbdev mmap function fb_mmap() unconditionally overrides the
driver's implementation if deferred I/O has been activated. This
makes it hard to implement mmap with anything but a vmalloc()'ed
software buffer. That is specifically a problem for DRM, where
video memory is maintained by a memory manager.
Leave the mmap handling to drivers and expect them to call the
helper for deferred I/O by thmeselves.
v4:
* unlock mm_lock in fb_mmap() error path (Dan)
v3:
* fix warning if fb_mmap is missing (kernel test robot)
v2:
* print a helpful error message if the defio setup is
incorrect (Javier)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220429100834.18898-2-tzimmermann@suse.de
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/hid-picolcd_fb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/hid/hid-picolcd_fb.c b/drivers/hid/hid-picolcd_fb.c index 33c102a60992..78515e6bacf0 100644 --- a/drivers/hid/hid-picolcd_fb.c +++ b/drivers/hid/hid-picolcd_fb.c @@ -428,6 +428,7 @@ static const struct fb_ops picolcdfb_ops = { .fb_imageblit = picolcd_fb_imageblit, .fb_check_var = picolcd_fb_check_var, .fb_set_par = picolcd_set_par, + .fb_mmap = fb_deferred_io_mmap, }; |