linux-stable/drivers/video/fbdev
Thomas Zimmermann 8813e86f6d fbdev: Remove default file-I/O implementations
Drop the default implementations for file read, write and mmap
operations. Each fbdev driver must now provide an implementation
and select any necessary helpers. If no implementation has been
set, fbdev returns an errno code to user space. The code is the
same as if the operation had not been set in the file_operations
struct.

This change makes the fbdev helpers for I/O memory optional. Most
systems only use system-memory framebuffers via DRM's fbdev emulation.

v2:
	* warn once if I/O callbacks are missing (Javier)

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-33-tzimmermann@suse.de
2023-11-29 12:20:53 +01:00
..
aty Merge tag 'drm-misc-next-2023-10-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-10-31 10:47:50 +10:00
core fbdev: Remove default file-I/O implementations 2023-11-29 12:20:53 +01:00
geode fbdev/geode/lxfb: Use fbdev I/O helpers 2023-08-04 15:54:35 +02:00
i810 fbdev/i810fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:32 +02:00
intelfb fbdev/intelfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:40 +02:00
kyro Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
matrox fbdev/matroxfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:45 +02:00
mb862xx Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
mmp Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
nvidia fbdev/nvidiafb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:53 +02:00
omap fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
omap2 fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
riva fbdev/rivafb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:16 +02:00
savage fbdev/savagefb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:35 +02:00
sis fbdev/sisfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:39 +02:00
vermilion fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
via fbdev: viafb: use new array-copying-wrapper 2023-11-07 14:42:34 +01:00
68328fb.c fbdev/68328fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:54:16 +02:00
acornfb.c fbdev/acornfb: Fix name of fb_ops initializer macro 2023-11-29 12:20:08 +01:00
acornfb.h
amba-clcd.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
amifb.c fbdev: amifb: Convert to platform remove callback returning void 2023-11-10 09:16:02 +01:00
arcfb.c fbdev/arcfb: Use generator macros for deferred I/O 2023-11-29 12:20:14 +01:00
arkfb.c fbdev/arkfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:54:34 +02:00
asiliantfb.c fbdev/asiliantfb: Use fbdev I/O helpers 2023-08-04 15:54:34 +02:00
atafb.c fbdev/atafb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:54:38 +02:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c fbdev: atmel_lcdfb: Convert to platform remove callback returning void 2023-11-10 07:34:19 +01:00
au1100fb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
au1100fb.h
au1200fb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
au1200fb.h
broadsheetfb.c fbdev: Align deferred I/O with naming of helpers 2023-07-31 20:07:24 +02:00
bt431.h
bt455.h
bw2.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
c2p.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c fbdev/carminefb: Use fbdev I/O helpers 2023-08-04 15:54:35 +02:00
carminefb.h
carminefb_regs.h
cg3.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
cg6.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
cg14.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
chipsfb.c fbdev/chipsfb: Use fbdev I/O helpers 2023-08-04 15:54:35 +02:00
cirrusfb.c fbdev/cirrusfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:54:52 +02:00
clps711x-fb.c fbdev/clps711x-fb: Initialize fb_ops with fbdev macros 2023-11-29 12:20:35 +01:00
cobalt_lcdfb.c fbdev/cobalt-lcd: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:54:56 +02:00
controlfb.c fbdev/controlfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:54:59 +02:00
controlfb.h
cyber2000fb.c fbdev/cyber2000fb: Initialize fb_ops with fbdev macros 2023-11-29 12:20:39 +01:00
cyber2000fb.h
da8xx-fb.c fbdev/da8xx-fb: Use fbdev I/O helpers 2023-08-04 15:54:35 +02:00
dnfb.c fbdev/dnfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:07 +02:00
edid.h
efifb.c fbdev/efifb: Use fbdev I/O helpers 2023-08-04 15:54:35 +02:00
ep93xx-fb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
ffb.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
fm2fb.c fbdev/fm2fb: Use fbdev I/O helpers 2023-08-04 15:54:35 +02:00
fsl-diu-fb.c fbdev: fsl-diu-fb: mark wr_reg_wa() static 2023-11-10 09:16:02 +01:00
g364fb.c fbdev/g364fb: fix build failure with mips 2023-09-02 08:18:40 -07:00
gbefb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
goldfishfb.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
grvga.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
gxt4500.c fbdev/gxt4500: Use fbdev I/O helpers 2023-08-04 15:54:36 +02:00
hecubafb.c fbdev: Align deferred I/O with naming of helpers 2023-07-31 20:07:24 +02:00
hgafb.c fbdev/hgafb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:17 +02:00
hitfb.c fbdev/hitfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:23 +02:00
hpfb.c fbdev/hpfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:27 +02:00
hyperv_fb.c fbdev: hyperv_fb: fix uninitialized local variable use 2023-11-10 07:34:19 +01:00
i740_reg.h
i740fb.c fbdev/i740fb: Use fbdev I/O helpers 2023-08-04 15:54:36 +02:00
imsttfb.c fbdev: imsttfb: fix a resource leak in probe 2023-11-07 14:42:34 +01:00
imxfb.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
Kconfig fbdev: Rename FB_SYS_FOPS token to FB_SYSMEM_FOPS 2023-11-29 12:20:42 +01:00
leo.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
macfb.c fbdev/macfb: Use fbdev I/O helpers 2023-08-04 15:54:36 +02:00
macmodes.c
macmodes.h
Makefile Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
maxinefb.c fbdev/maxinefb: Use fbdev I/O helpers 2023-08-04 15:54:36 +02:00
metronomefb.c fbdev: Align deferred I/O with naming of helpers 2023-07-31 20:07:24 +02:00
n411.c
neofb.c fbdev/neofb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:55:48 +02:00
ocfb.c fbdev/ocfb: Use fbdev I/O helpers 2023-08-04 15:54:37 +02:00
offb.c fbdev: offb: Simplify offb_init_fb() 2023-11-07 14:42:34 +01:00
p9100.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
platinumfb.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
platinumfb.h
pm2fb.c fbdev/pm2fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:00 +02:00
pm3fb.c fbdev/pm3fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:04 +02:00
pmag-aa-fb.c fbdev/pmag-aa-fb: Use fbdev I/O helpers 2023-08-04 15:54:37 +02:00
pmag-ba-fb.c fbdev/pmag-ba-fb: Use fbdev I/O helpers 2023-08-04 15:54:37 +02:00
pmagb-b-fb.c fbdev/pmagb-b-fb: Use fbdev I/O helpers 2023-08-04 15:54:37 +02:00
ps3fb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
pvr2fb.c fbdev/pvr2fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:08 +02:00
pxa3xx-gcu.c fbdev: pxa3xx-gcu: Convert to platform remove callback returning void 2023-04-24 11:48:31 +02:00
pxa3xx-gcu.h
pxa3xx-regs.h
pxa168fb.c fbdev/pxa168fb: Use fbdev I/O helpers 2023-08-04 15:54:37 +02:00
pxa168fb.h
pxafb.c fbdev/pxafb: Use fbdev I/O helpers 2023-08-04 15:54:37 +02:00
pxafb.h
q40fb.c fbdev/q40fb: Use fbdev I/O helpers 2023-08-04 15:54:38 +02:00
s1d13xxxfb.c fbdev/s1d13xxxfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:23 +02:00
s3c-fb.c fbdev/s3cfb: Use fbdev I/O helpers 2023-08-04 15:54:38 +02:00
s3fb.c fbdev/s3fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:27 +02:00
sa1100fb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
sa1100fb.h
sbuslib.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
sbuslib.h fbdev/sbus: Add initializer macros and Kconfig tokens for SBUS support 2023-08-28 09:43:53 +02:00
sh7760fb.c fbdev/sh7760fb: Use fbdev I/O helpers 2023-08-04 15:54:38 +02:00
sh_mobile_lcdcfb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
sh_mobile_lcdcfb.h
simplefb.c fbdev/simplefb: Suppress error on missing power domains 2023-11-22 09:51:16 +01:00
skeletonfb.c fbdev: Remove FBINFO_DEFAULT from framebuffer_alloc()'ed structs 2023-07-24 16:50:38 +02:00
sm501fb.c fbdev/sm501fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:43 +02:00
sm712.h
sm712fb.c fbdev/sm712fb: Use correct initializer macros for struct fb_ops 2023-11-29 12:20:10 +01:00
smscufx.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
ssd1307fb.c fbdev: ssd1307fb: Use bool for ssd1307fb_deviceinfo flags 2023-09-01 00:29:34 +02:00
sstfb.c fbdev/sstfb: Use fbdev I/O helpers 2023-08-04 15:54:38 +02:00
stifb.c fbdev/stifb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:51 +02:00
sunxvr500.c fbdev/sunxvr500: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:55 +02:00
sunxvr1000.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
sunxvr2500.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
tcx.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
tdfxfb.c fbdev/tdfxfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:56:59 +02:00
tgafb.c fbdev/tgafb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:57:03 +02:00
tridentfb.c fbdev/tridentfb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:57:07 +02:00
udlfb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
uvesafb.c fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit() 2023-10-16 23:19:34 +02:00
valkyriefb.c fbdev/valkyriefb: Use fbdev I/O helpers 2023-08-04 15:54:38 +02:00
valkyriefb.h
vesafb.c fbdev/vesafb: Use fbdev I/O helpers 2023-08-04 15:54:38 +02:00
vfb.c fbdev: Push pgprot_decrypted() into mmap implementations 2023-11-29 12:20:44 +01:00
vga16fb.c TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
vt8500lcdfb.c fbdev/vt8500lcdfb: Initialize fb_ops with fbdev macros 2023-11-29 12:20:36 +01:00
vt8500lcdfb.h
vt8623fb.c fbdev/vt8623fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-10-19 12:57:21 +02:00
wm8505fb.c fbdev/wm8505fb: Initialize fb_ops to fbdev I/O-memory helpers 2023-11-29 12:20:38 +01:00
wm8505fb_regs.h
wmt_ge_rops.c fbdev: Include <linux/io.h> in various drivers 2023-05-18 11:06:19 +02:00
wmt_ge_rops.h
xen-fbfront.c fbdev: Align deferred I/O with naming of helpers 2023-07-31 20:07:24 +02:00
xilinxfb.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00