Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/kernel...
[platform/kernel/linux-rpi.git] / samples / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig SAMPLES
3         bool "Sample kernel code"
4         help
5           You can build and test sample kernel code here.
6
7 if SAMPLES
8
9 config SAMPLE_AUXDISPLAY
10         bool "auxdisplay sample"
11         depends on CC_CAN_LINK
12
13 config SAMPLE_TRACE_EVENTS
14         tristate "Build trace_events examples -- loadable modules only"
15         depends on EVENT_TRACING && m
16         help
17           This builds the trace event example module.
18
19 config SAMPLE_TRACE_CUSTOM_EVENTS
20         tristate "Build custom trace event example -- loadable modules only"
21         depends on EVENT_TRACING && m
22         help
23           This builds the custom trace event example module.
24
25 config SAMPLE_TRACE_PRINTK
26         tristate "Build trace_printk module - tests various trace_printk formats"
27         depends on EVENT_TRACING && m
28         help
29          This builds a module that calls trace_printk() and can be used to
30          test various trace_printk() calls from a module.
31
32 config SAMPLE_FTRACE_DIRECT
33         tristate "Build register_ftrace_direct() example"
34         depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
35         depends on HAVE_SAMPLE_FTRACE_DIRECT
36         help
37           This builds an ftrace direct function example
38           that hooks to wake_up_process and prints the parameters.
39
40 config SAMPLE_FTRACE_DIRECT_MULTI
41         tristate "Build register_ftrace_direct_multi() example"
42         depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
43         depends on HAVE_SAMPLE_FTRACE_DIRECT_MULTI
44         help
45           This builds an ftrace direct function example
46           that hooks to wake_up_process and schedule, and prints
47           the function addresses.
48
49 config SAMPLE_FTRACE_OPS
50         tristate "Build custom ftrace ops example"
51         depends on FUNCTION_TRACER
52         help
53           This builds an ftrace ops example that hooks two functions and
54           measures the time taken to invoke one function a number of times.
55
56 config SAMPLE_TRACE_ARRAY
57         tristate "Build sample module for kernel access to Ftrace instancess"
58         depends on EVENT_TRACING && m
59         help
60          This builds a module that demonstrates the use of various APIs to
61          access Ftrace instances from within the kernel.
62
63 config SAMPLE_KOBJECT
64         tristate "Build kobject examples"
65         help
66           This config option will allow you to build a number of
67           different kobject sample modules showing how to use kobjects,
68           ksets, and ktypes properly.
69
70           If in doubt, say "N" here.
71
72 config SAMPLE_KPROBES
73         tristate "Build kprobes examples -- loadable modules only"
74         depends on KPROBES && m
75         help
76           This build several kprobes example modules.
77
78 config SAMPLE_KRETPROBES
79         tristate "Build kretprobes example -- loadable modules only"
80         default m
81         depends on SAMPLE_KPROBES && KRETPROBES
82
83 config SAMPLE_HW_BREAKPOINT
84         tristate "Build kernel hardware breakpoint examples -- loadable module only"
85         depends on HAVE_HW_BREAKPOINT && m
86         help
87           This builds kernel hardware breakpoint example modules.
88
89 config SAMPLE_FPROBE
90         tristate "Build fprobe examples -- loadable modules only"
91         depends on FPROBE && m
92         help
93           This builds a fprobe example module. This module has an option 'symbol'.
94           You can specify a probed symbol or symbols separated with ','.
95
96 config SAMPLE_KFIFO
97         tristate "Build kfifo examples -- loadable modules only"
98         depends on m
99         help
100           This config option will allow you to build a number of
101           different kfifo sample modules showing how to use the
102           generic kfifo API.
103
104           If in doubt, say "N" here.
105
106 config SAMPLE_KDB
107         tristate "Build kdb command example -- loadable modules only"
108         depends on KGDB_KDB && m
109         help
110           Build an example of how to dynamically add the hello
111           command to the kdb shell.
112
113 config SAMPLE_QMI_CLIENT
114         tristate "Build qmi client sample -- loadable modules only"
115         depends on m
116         depends on ARCH_QCOM
117         depends on NET
118         select QCOM_QMI_HELPERS
119         help
120           Build an QMI client sample driver, which demonstrates how to
121           communicate with a remote QRTR service, using QMI encoded messages.
122
123 config SAMPLE_RPMSG_CLIENT
124         tristate "Build rpmsg client sample -- loadable modules only"
125         depends on RPMSG && m
126         help
127           Build an rpmsg client sample driver, which demonstrates how
128           to communicate with an AMP-configured remote processor over
129           the rpmsg bus.
130
131 config SAMPLE_LIVEPATCH
132         tristate "Build live patching samples -- loadable modules only"
133         depends on LIVEPATCH && m
134         help
135           Build sample live patch demonstrations.
136
137 config SAMPLE_CONFIGFS
138         tristate "Build configfs patching sample -- loadable modules only"
139         depends on CONFIGFS_FS && m
140         help
141           Builds a sample configfs interface.
142
143 config SAMPLE_CONNECTOR
144         tristate "Build connector sample -- loadable modules only"
145         depends on CONNECTOR && HEADERS_INSTALL && m
146         help
147           When enabled, this builds both a sample kernel module for
148           the connector interface and a user space tool to communicate
149           with it.
150           See also Documentation/driver-api/connector.rst
151
152 config SAMPLE_FANOTIFY_ERROR
153         bool "Build fanotify error monitoring sample"
154         depends on FANOTIFY && CC_CAN_LINK && HEADERS_INSTALL
155         help
156           When enabled, this builds an example code that uses the
157           FAN_FS_ERROR fanotify mechanism to monitor filesystem
158           errors.
159           See also Documentation/admin-guide/filesystem-monitoring.rst.
160
161 config SAMPLE_HIDRAW
162         bool "hidraw sample"
163         depends on CC_CAN_LINK && HEADERS_INSTALL
164
165 config SAMPLE_LANDLOCK
166         bool "Landlock example"
167         depends on CC_CAN_LINK && HEADERS_INSTALL
168         help
169           Build a simple Landlock sandbox manager able to start a process
170           restricted by a user-defined filesystem access control policy.
171
172 config SAMPLE_PIDFD
173         bool "pidfd sample"
174         depends on CC_CAN_LINK && HEADERS_INSTALL
175
176 config SAMPLE_SECCOMP
177         bool "Build seccomp sample code"
178         depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL
179         help
180           Build samples of seccomp filters using various methods of
181           BPF filter construction.
182
183 config SAMPLE_TIMER
184         bool "Timer sample"
185         depends on CC_CAN_LINK && HEADERS_INSTALL
186
187 config SAMPLE_UHID
188         bool "UHID sample"
189         depends on CC_CAN_LINK && HEADERS_INSTALL
190         help
191           Build UHID sample program.
192
193 config SAMPLE_VFIO_MDEV_MTTY
194         tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
195         depends on VFIO_MDEV && m
196         help
197           Build a virtual tty sample driver for use as a VFIO
198           mediated device
199
200 config SAMPLE_VFIO_MDEV_MDPY
201         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
202         depends on VFIO_MDEV && m
203         help
204           Build a virtual display sample driver for use as a VFIO
205           mediated device.  It is a simple framebuffer and supports
206           the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
207
208 config SAMPLE_VFIO_MDEV_MDPY_FB
209         tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
210         depends on FB && m
211         select FB_CFB_FILLRECT
212         select FB_CFB_COPYAREA
213         select FB_CFB_IMAGEBLIT
214         help
215           Guest fbdev driver for the virtual display sample driver.
216
217 config SAMPLE_VFIO_MDEV_MBOCHS
218         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
219         depends on VFIO_MDEV && m
220         select DMA_SHARED_BUFFER
221         help
222           Build a virtual display sample driver for use as a VFIO
223           mediated device.  It supports the region display interface
224           (VFIO_GFX_PLANE_TYPE_DMABUF).
225           Emulate enough of qemu stdvga to make bochs-drm.ko happy.
226           That is basically the vram memory bar and the bochs dispi
227           interface vbe registers in the mmio register bar.
228           Specifically it does *not* include any legacy vga stuff.
229           Device looks a lot like "qemu -device secondary-vga".
230
231 config SAMPLE_ANDROID_BINDERFS
232         bool "Build Android binderfs example"
233         depends on CC_CAN_LINK && HEADERS_INSTALL
234         help
235           Builds a sample program to illustrate the use of the Android binderfs
236           filesystem.
237
238 config SAMPLE_VFS
239         bool "Build example programs that use new VFS system calls"
240         depends on CC_CAN_LINK && HEADERS_INSTALL
241         help
242           Build example userspace programs that use new VFS system calls such
243           as mount API and statx().  Note that this is restricted to the x86
244           arch whilst it accesses system calls that aren't yet in all arches.
245
246 config SAMPLE_INTEL_MEI
247         bool "Build example program working with intel mei driver"
248         depends on INTEL_MEI
249         depends on CC_CAN_LINK && HEADERS_INSTALL
250         help
251           Build a sample program to work with mei device.
252
253 config SAMPLE_WATCHDOG
254         bool "watchdog sample"
255         depends on CC_CAN_LINK
256
257 config SAMPLE_WATCH_QUEUE
258         bool "Build example watch_queue notification API consumer"
259         depends on CC_CAN_LINK && HEADERS_INSTALL
260         help
261           Build example userspace program to use the new mount_notify(),
262           sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function.
263
264 config SAMPLE_CORESIGHT_SYSCFG
265         tristate "Build example loadable module for CoreSight config"
266         depends on CORESIGHT && m
267         help
268           Build an example loadable module that adds new CoreSight features
269           and configuration using the CoreSight system configuration API.
270           This demonstrates how a user may create their own CoreSight
271           configurations and easily load them into the system at runtime.
272
273 source "samples/rust/Kconfig"
274
275 endif # SAMPLES
276
277 config HAVE_SAMPLE_FTRACE_DIRECT
278         bool
279
280 config HAVE_SAMPLE_FTRACE_DIRECT_MULTI
281         bool