mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-06 05:02:31 +00:00
fbdev/vt8500lcdfb: Initialize fb_ops with fbdev macros
Initialize the instance of struct fb_ops with fbdev initializer macros for framebuffers in DMA-able virtual address space. Set the read/write, draw and mmap callbacks to the correct implementation and avoid implicit defaults. Also select the necessary helpers in Kconfig. Fbdev drivers sometimes rely on the callbacks being NULL for a default I/O-memory-based implementation to be invoked; hence requiring the I/O helpers to be built in any case. Setting all callbacks in all drivers explicitly will allow to make the I/O helpers optional. This benefits systems that do not use these functions. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20231127131655.4020-23-tzimmermann@suse.de
This commit is contained in:
parent
dec2d60923
commit
63a11adace
@ -1467,6 +1467,7 @@ config FB_VT8500
|
||||
select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
|
||||
select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
|
||||
select FB_SYS_IMAGEBLIT
|
||||
select FB_SYS_FOPS
|
||||
select FB_MODE_HELPERS
|
||||
select VIDEOMODE_HELPERS
|
||||
help
|
||||
|
@ -241,6 +241,7 @@ static int vt8500lcd_blank(int blank, struct fb_info *info)
|
||||
|
||||
static const struct fb_ops vt8500lcd_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
__FB_DEFAULT_DMAMEM_OPS_RDWR,
|
||||
.fb_set_par = vt8500lcd_set_par,
|
||||
.fb_setcolreg = vt8500lcd_setcolreg,
|
||||
.fb_fillrect = wmt_ge_fillrect,
|
||||
@ -250,6 +251,7 @@ static const struct fb_ops vt8500lcd_ops = {
|
||||
.fb_ioctl = vt8500lcd_ioctl,
|
||||
.fb_pan_display = vt8500lcd_pan_display,
|
||||
.fb_blank = vt8500lcd_blank,
|
||||
// .fb_mmap needs DMA mmap
|
||||
};
|
||||
|
||||
static irqreturn_t vt8500lcd_handle_irq(int irq, void *dev_id)
|
||||
@ -357,7 +359,7 @@ static int vt8500lcd_probe(struct platform_device *pdev)
|
||||
|
||||
fbi->fb.fix.smem_start = fb_mem_phys;
|
||||
fbi->fb.fix.smem_len = fb_mem_len;
|
||||
fbi->fb.screen_base = fb_mem_virt;
|
||||
fbi->fb.screen_buffer = fb_mem_virt;
|
||||
|
||||
fbi->palette_size = PAGE_ALIGN(512);
|
||||
fbi->palette_cpu = dma_alloc_coherent(&pdev->dev,
|
||||
|
Loading…
Reference in New Issue
Block a user