OpenCloudOS-Kernel/drivers/staging/fbtft
Thomas Zimmermann 701d2054fa fbdev: Make support for userspace interfaces configurable
Add Kconfig option CONFIG_FB_DEVICE and make the virtual fbdev
device optional. If the new option has not been selected, fbdev
does not create files in devfs, sysfs or procfs.

Most modern Linux systems run a DRM-based graphics stack that uses
the kernel's framebuffer console, but has otherwise deprecated fbdev
support. Yet fbdev userspace interfaces are still present.

The option makes it possible to use the fbdev subsystem as console
implementation without support for userspace. This closes potential
entry points to manipulate kernel or I/O memory via framebuffers. It
also prevents the execution of driver code via ioctl or sysfs, both
of which might allow malicious software to exploit bugs in the fbdev
code.

A small number of fbdev drivers require struct fbinfo.dev to be
initialized, usually for the support of sysfs interface. Make these
drivers depend on FB_DEVICE. They can later be fixed if necessary.

v3:
	* effect -> affect in Kconfig help (Daniel)
v2:
	* set FB_DEVICE default to y (Geert)
	* comment on {get,put}_device() (Sam)
	* Kconfig fixes (Sam)
	* add TODO item about FB_DEVICE dependencies (Sam)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230613110953.24176-39-tzimmermann@suse.de
2023-06-27 09:58:51 +02:00
..
Kconfig fbdev: Make support for userspace interfaces configurable 2023-06-27 09:58:51 +02:00
Makefile staging: fbtft: Remove fb_watterott driver 2021-11-15 10:02:02 +01:00
README
TODO staging: fbtft: Update TODO 2021-05-10 11:19:39 +02:00
fb_agm1264k-fl.c staging: fbtft: Replace custom ->reset() with generic one 2021-05-10 11:19:39 +02:00
fb_bd663474.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_hx8340bn.c
fb_hx8347d.c staging: fbtft: Add support for orientation on Himax HX8347d 2021-05-10 11:19:39 +02:00
fb_hx8353d.c
fb_hx8357d.c
fb_hx8357d.h
fb_ili9163.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_ili9320.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_ili9325.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_ili9340.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_ili9341.c
fb_ili9481.c
fb_ili9486.c
fb_pcd8544.c
fb_ra8875.c
fb_s6d02a1.c
fb_s6d1121.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_seps525.c
fb_sh1106.c staging: fbtft: sh1106: use new macro FBTFT_REGISTER_SPI_DRIVER 2021-12-03 15:05:12 +01:00
fb_ssd1289.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_ssd1305.c
fb_ssd1306.c
fb_ssd1325.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_ssd1331.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fb_ssd1351.c staging: ftbft: Use backlight helper 2022-06-10 09:01:03 +02:00
fb_st7735r.c
fb_st7789v.c staging: fbtft: fb_st7789v: reset display before initialization 2022-02-15 17:14:22 +01:00
fb_tinylcd.c
fb_tls8204.c
fb_uc1611.c
fb_uc1701.c
fb_upd161704.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fbtft-bus.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fbtft-core.c staging: Replace all spi->chip_select and spi->cs_gpiod references with function call 2023-03-11 12:34:05 +00:00
fbtft-io.c staging: fbtft: Rectify GPIO handling 2021-05-10 11:19:39 +02:00
fbtft-sysfs.c
fbtft.h Staging driver update for 5.18-rc1 2022-03-28 12:50:50 -07:00
internal.h

README

  FBTFT
=========

Linux Framebuffer drivers for small TFT LCD display modules.
The module 'fbtft' makes writing drivers for some of these displays very easy.

Development is done on a Raspberry Pi running the Raspbian "wheezy" distribution.

INSTALLATION
  Download kernel sources

  From Linux 3.15
    cd drivers/video/fbdev/fbtft
    git clone https://github.com/notro/fbtft.git

    Add to drivers/video/fbdev/Kconfig:   source "drivers/video/fbdev/fbtft/Kconfig"
    Add to drivers/video/fbdev/Makefile:  obj-y += fbtft/

  Before Linux 3.15
    cd drivers/video
    git clone https://github.com/notro/fbtft.git

    Add to drivers/video/Kconfig:   source "drivers/video/fbtft/Kconfig"
    Add to drivers/video/Makefile:  obj-y += fbtft/

  Enable driver(s) in menuconfig and build the kernel


See wiki for more information: https://github.com/notro/fbtft/wiki


Source: https://github.com/notro/fbtft/