Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# fbdev core configuration
4#
5
6config FB_CORE
7 select VIDEO
8 tristate
9
10config FB_NOTIFY
11 bool
12
13config FB_DEVICE
14 bool "Provide legacy /dev/fb* device"
15 depends on FB_CORE
16 default FB
17 help
18 Say Y here if you want the legacy /dev/fb* device file and
19 interfaces within sysfs and procfs. It is only required if you
20 have userspace programs that depend on fbdev for graphics output.
21 This does not affect the framebuffer console. If unsure, say N.
22
23config FB_DDC
24 tristate
25 depends on FB
26 select I2C_ALGOBIT
27 select I2C
28
29config FB_CFB_FILLRECT
30 tristate
31 depends on FB_CORE
32 help
33 Include the cfb_fillrect function for generic software rectangle
34 filling. This is used by drivers that don't provide their own
35 (accelerated) version.
36
37config FB_CFB_COPYAREA
38 tristate
39 depends on FB_CORE
40 help
41 Include the cfb_copyarea function for generic software area copying.
42 This is used by drivers that don't provide their own (accelerated)
43 version.
44
45config FB_CFB_IMAGEBLIT
46 tristate
47 depends on FB_CORE
48 help
49 Include the cfb_imageblit function for generic software image
50 blitting. This is used by drivers that don't provide their own
51 (accelerated) version.
52
53config FB_CFB_REV_PIXELS_IN_BYTE
54 bool
55 depends on FB_CORE
56 help
57 Allow I/O memory frame-buffer functions to work on displays with 1, 2
58 and 4 bits per pixel depths which has opposite order of pixels in
59 byte order to bytes in long order.
60
61config FB_SYS_FILLRECT
62 tristate
63 depends on FB_CORE
64 help
65 Include the sys_fillrect function for generic software rectangle
66 filling. This is used by drivers that don't provide their own
67 (accelerated) version and the framebuffer is in system RAM.
68
69config FB_SYS_COPYAREA
70 tristate
71 depends on FB_CORE
72 help
73 Include the sys_copyarea function for generic software area copying.
74 This is used by drivers that don't provide their own (accelerated)
75 version and the framebuffer is in system RAM.
76
77config FB_SYS_IMAGEBLIT
78 tristate
79 depends on FB_CORE
80 help
81 Include the sys_imageblit function for generic software image
82 blitting. This is used by drivers that don't provide their own
83 (accelerated) version and the framebuffer is in system RAM.
84
85config FB_SYS_REV_PIXELS_IN_BYTE
86 bool
87 depends on FB_CORE
88 help
89 Allow virtual memory frame-buffer functions to work on displays with 1, 2
90 and 4 bits per pixel depths which has opposite order of pixels in
91 byte order to bytes in long order.
92
93config FB_PROVIDE_GET_FB_UNMAPPED_AREA
94 bool
95 depends on FB
96 help
97 Allow generic frame-buffer to provide get_fb_unmapped_area
98 function to provide shareable character device support on nommu.
99
100menuconfig FB_FOREIGN_ENDIAN
101 bool "Framebuffer foreign endianness support"
102 depends on FB
103 help
104 This menu will let you enable support for the framebuffers with
105 non-native endianness (e.g. Little-Endian framebuffer on a
106 Big-Endian machine). Most probably you don't have such hardware,
107 so it's safe to say "n" here.
108
109choice
110 prompt "Choice endianness support"
111 depends on FB_FOREIGN_ENDIAN
112
113config FB_BOTH_ENDIAN
114 bool "Support for Big- and Little-Endian framebuffers"
115
116config FB_BIG_ENDIAN
117 bool "Support for Big-Endian framebuffers only"
118
119config FB_LITTLE_ENDIAN
120 bool "Support for Little-Endian framebuffers only"
121
122endchoice
123
124config FB_SYSMEM_FOPS
125 tristate
126 depends on FB_CORE
127
128config FB_DEFERRED_IO
129 bool
130 depends on FB_CORE
131
132config FB_DMAMEM_HELPERS
133 bool
134 depends on FB_CORE
135 select FB_SYS_COPYAREA
136 select FB_SYS_FILLRECT
137 select FB_SYS_IMAGEBLIT
138 select FB_SYSMEM_FOPS
139
140config FB_DMAMEM_HELPERS_DEFERRED
141 bool
142 depends on FB_CORE
143 select FB_DEFERRED_IO
144 select FB_DMAMEM_HELPERS
145
146config FB_IOMEM_FOPS
147 tristate
148 depends on FB_CORE
149
150config FB_IOMEM_HELPERS
151 bool
152 depends on FB_CORE
153 select FB_CFB_COPYAREA
154 select FB_CFB_FILLRECT
155 select FB_CFB_IMAGEBLIT
156 select FB_IOMEM_FOPS
157
158config FB_IOMEM_HELPERS_DEFERRED
159 bool
160 depends on FB_CORE
161 select FB_DEFERRED_IO
162 select FB_IOMEM_HELPERS
163
164config FB_SYSMEM_HELPERS
165 bool
166 depends on FB_CORE
167 select FB_SYS_COPYAREA
168 select FB_SYS_FILLRECT
169 select FB_SYS_IMAGEBLIT
170 select FB_SYSMEM_FOPS
171
172config FB_SYSMEM_HELPERS_DEFERRED
173 bool
174 depends on FB_CORE
175 select FB_DEFERRED_IO
176 select FB_SYSMEM_HELPERS
177
178config FB_BACKLIGHT
179 bool
180 depends on FB
181
182config FB_MODE_HELPERS
183 bool
184 depends on FB
185 help
186 This enables functions for handling video modes using the
187 Generalized Timing Formula and the EDID parser. A few drivers rely
188 on this feature such as the radeonfb, rivafb, and the i810fb. If
189 your driver does not take advantage of this feature, choosing Y will
190 just increase the kernel size by about 5K.
191
192config FB_TILEBLITTING
193 bool "Enable Tile Blitting Support"
194 depends on FB
195 help
196 This enables tile blitting. Tile blitting is a drawing technique
197 where the screen is divided into rectangular sections (tiles), whereas
198 the standard blitting divides the screen into pixels. Because the
199 default drawing element is a tile, drawing functions will be passed
200 parameters in terms of number of tiles instead of number of pixels.
201 For example, to draw a single character, instead of using bitmaps,
202 an index to an array of bitmaps will be used. To clear or move a
203 rectangular section of a screen, the rectangle will be described in
204 terms of number of tiles in the x- and y-axis.
205
206 This is particularly important to one driver, matroxfb. If
207 unsure, say N.