Linux 5.8-rc5
[sfrench/cifs-2.6.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 build trace event example modules.
18
19 config SAMPLE_TRACE_PRINTK
20         tristate "Build trace_printk module - tests various trace_printk formats"
21         depends on EVENT_TRACING && m
22         help
23          This builds a module that calls trace_printk() and can be used to
24          test various trace_printk() calls from a module.
25
26 config SAMPLE_FTRACE_DIRECT
27         tristate "Build register_ftrace_direct() example"
28         depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m
29         depends on X86_64 # has x86_64 inlined asm
30         help
31           This builds an ftrace direct function example
32           that hooks to wake_up_process and prints the parameters.
33
34 config SAMPLE_TRACE_ARRAY
35         tristate "Build sample module for kernel access to Ftrace instancess"
36         depends on EVENT_TRACING && m
37         help
38          This builds a module that demonstrates the use of various APIs to
39          access Ftrace instances from within the kernel.
40
41 config SAMPLE_KOBJECT
42         tristate "Build kobject examples"
43         help
44           This config option will allow you to build a number of
45           different kobject sample modules showing how to use kobjects,
46           ksets, and ktypes properly.
47
48           If in doubt, say "N" here.
49
50 config SAMPLE_KPROBES
51         tristate "Build kprobes examples -- loadable modules only"
52         depends on KPROBES && m
53         help
54           This build several kprobes example modules.
55
56 config SAMPLE_KRETPROBES
57         tristate "Build kretprobes example -- loadable modules only"
58         default m
59         depends on SAMPLE_KPROBES && KRETPROBES
60
61 config SAMPLE_HW_BREAKPOINT
62         tristate "Build kernel hardware breakpoint examples -- loadable module only"
63         depends on HAVE_HW_BREAKPOINT && m
64         help
65           This builds kernel hardware breakpoint example modules.
66
67 config SAMPLE_KFIFO
68         tristate "Build kfifo examples -- loadable modules only"
69         depends on m
70         help
71           This config option will allow you to build a number of
72           different kfifo sample modules showing how to use the
73           generic kfifo API.
74
75           If in doubt, say "N" here.
76
77 config SAMPLE_KDB
78         tristate "Build kdb command example -- loadable modules only"
79         depends on KGDB_KDB && m
80         help
81           Build an example of how to dynamically add the hello
82           command to the kdb shell.
83
84 config SAMPLE_QMI_CLIENT
85         tristate "Build qmi client sample -- loadable modules only"
86         depends on m
87         depends on ARCH_QCOM
88         depends on NET
89         select QCOM_QMI_HELPERS
90         help
91           Build an QMI client sample driver, which demonstrates how to
92           communicate with a remote QRTR service, using QMI encoded messages.
93
94 config SAMPLE_RPMSG_CLIENT
95         tristate "Build rpmsg client sample -- loadable modules only"
96         depends on RPMSG && m
97         help
98           Build an rpmsg client sample driver, which demonstrates how
99           to communicate with an AMP-configured remote processor over
100           the rpmsg bus.
101
102 config SAMPLE_LIVEPATCH
103         tristate "Build live patching samples -- loadable modules only"
104         depends on LIVEPATCH && m
105         help
106           Build sample live patch demonstrations.
107
108 config SAMPLE_CONFIGFS
109         tristate "Build configfs patching sample -- loadable modules only"
110         depends on CONFIGFS_FS && m
111         help
112           Builds a sample configfs interface.
113
114 config SAMPLE_CONNECTOR
115         tristate "Build connector sample -- loadable modules only"
116         depends on CONNECTOR && HEADERS_INSTALL && m
117         help
118           When enabled, this builds both a sample kernel module for
119           the connector interface and a user space tool to communicate
120           with it.
121           See also Documentation/driver-api/connector.rst
122
123 config SAMPLE_HIDRAW
124         bool "hidraw sample"
125         depends on CC_CAN_LINK && HEADERS_INSTALL
126
127 config SAMPLE_PIDFD
128         bool "pidfd sample"
129         depends on CC_CAN_LINK && HEADERS_INSTALL
130
131 config SAMPLE_SECCOMP
132         bool "Build seccomp sample code"
133         depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL
134         help
135           Build samples of seccomp filters using various methods of
136           BPF filter construction.
137
138 config SAMPLE_TIMER
139         bool "Timer sample"
140         depends on CC_CAN_LINK && HEADERS_INSTALL
141
142 config SAMPLE_UHID
143         bool "UHID sample"
144         depends on CC_CAN_LINK && HEADERS_INSTALL
145         help
146           Build UHID sample program.
147
148 config SAMPLE_VFIO_MDEV_MTTY
149         tristate "Build VFIO mtty example mediated device sample code -- loadable modules only"
150         depends on VFIO_MDEV_DEVICE && m
151         help
152           Build a virtual tty sample driver for use as a VFIO
153           mediated device
154
155 config SAMPLE_VFIO_MDEV_MDPY
156         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
157         depends on VFIO_MDEV_DEVICE && m
158         help
159           Build a virtual display sample driver for use as a VFIO
160           mediated device.  It is a simple framebuffer and supports
161           the region display interface (VFIO_GFX_PLANE_TYPE_REGION).
162
163 config SAMPLE_VFIO_MDEV_MDPY_FB
164         tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only"
165         depends on FB && m
166         select FB_CFB_FILLRECT
167         select FB_CFB_COPYAREA
168         select FB_CFB_IMAGEBLIT
169         help
170           Guest fbdev driver for the virtual display sample driver.
171
172 config SAMPLE_VFIO_MDEV_MBOCHS
173         tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only"
174         depends on VFIO_MDEV_DEVICE && m
175         select DMA_SHARED_BUFFER
176         help
177           Build a virtual display sample driver for use as a VFIO
178           mediated device.  It supports the region display interface
179           (VFIO_GFX_PLANE_TYPE_DMABUF).
180           Emulate enough of qemu stdvga to make bochs-drm.ko happy.
181           That is basically the vram memory bar and the bochs dispi
182           interface vbe registers in the mmio register bar.
183           Specifically it does *not* include any legacy vga stuff.
184           Device looks a lot like "qemu -device secondary-vga".
185
186 config SAMPLE_ANDROID_BINDERFS
187         bool "Build Android binderfs example"
188         depends on CC_CAN_LINK && HEADERS_INSTALL
189         help
190           Builds a sample program to illustrate the use of the Android binderfs
191           filesystem.
192
193 config SAMPLE_VFS
194         bool "Build example programs that use new VFS system calls"
195         depends on CC_CAN_LINK && HEADERS_INSTALL
196         help
197           Build example userspace programs that use new VFS system calls such
198           as mount API and statx().  Note that this is restricted to the x86
199           arch whilst it accesses system calls that aren't yet in all arches.
200
201 config SAMPLE_INTEL_MEI
202         bool "Build example program working with intel mei driver"
203         depends on INTEL_MEI
204         depends on CC_CAN_LINK && HEADERS_INSTALL
205         help
206           Build a sample program to work with mei device.
207
208 config SAMPLE_WATCHDOG
209         bool "watchdog sample"
210         depends on CC_CAN_LINK
211
212 config SAMPLE_WATCH_QUEUE
213         bool "Build example /dev/watch_queue notification consumer"
214         depends on CC_CAN_LINK && HEADERS_INSTALL
215         help
216           Build example userspace program to use the new mount_notify(),
217           sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function.
218
219 endif # SAMPLES