diff options
| author | Javier Garcia <rampxxxx@gmail.com> | 2025-10-28 20:16:15 +0100 |
|---|---|---|
| committer | Helge Deller <deller@gmx.de> | 2025-11-15 13:46:44 +0100 |
| commit | 6c317ceefac0c8ac82002ce2923f692102e50c02 (patch) | |
| tree | 489e583e6aeab9d8b1f8e730b7393a57a3b319d6 /drivers/video | |
| parent | b8a65b2d8b206cab339de8393f164482328c2bde (diff) | |
fbdev: vga16fb: Request memory region
This patch reserve and release VGA memory region.
This align with Documentation/drm/todo.rst
"Request memory regions in all fbdev drivers"
I've tested with 32bits kernel and qemu.
Signed-off-by: Javier Garcia <rampxxxx@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/video')
| -rw-r--r-- | drivers/video/fbdev/vga16fb.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/fbdev/vga16fb.c b/drivers/video/fbdev/vga16fb.c index 85852bca2d23..6b81337a4909 100644 --- a/drivers/video/fbdev/vga16fb.c +++ b/drivers/video/fbdev/vga16fb.c @@ -1320,6 +1320,11 @@ static int vga16fb_probe(struct platform_device *dev) return ret; dev_dbg(&dev->dev, "initializing\n"); + if (!request_mem_region(vga16fb_fix.smem_start, vga16fb_fix.smem_len, + "vga16b")) { + dev_err(&dev->dev, "cannot reserve video memory at 0x%lx\n", + vga16fb_fix.smem_start); + } info = framebuffer_alloc(sizeof(struct vga16fb_par), &dev->dev); if (!info) { @@ -1398,6 +1403,8 @@ static int vga16fb_probe(struct platform_device *dev) err_ioremap: framebuffer_release(info); err_fb_alloc: + release_mem_region(vga16fb_fix.smem_start, + vga16fb_fix.smem_len); return ret; } @@ -1407,6 +1414,8 @@ static void vga16fb_remove(struct platform_device *dev) if (info) unregister_framebuffer(info); + release_mem_region(vga16fb_fix.smem_start, + vga16fb_fix.smem_len); } static const struct platform_device_id vga16fb_driver_id_table[] = { |
