| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | menuconfig SAMPLES |
|---|
| 2 | 3 | bool "Sample kernel code" |
|---|
| 3 | | - depends on !UML |
|---|
| 4 | 4 | help |
|---|
| 5 | 5 | You can build and test sample kernel code here. |
|---|
| 6 | 6 | |
|---|
| 7 | 7 | if SAMPLES |
|---|
| 8 | + |
|---|
| 9 | +config SAMPLE_AUXDISPLAY |
|---|
| 10 | + bool "auxdisplay sample" |
|---|
| 11 | + depends on CC_CAN_LINK |
|---|
| 8 | 12 | |
|---|
| 9 | 13 | config SAMPLE_TRACE_EVENTS |
|---|
| 10 | 14 | tristate "Build trace_events examples -- loadable modules only" |
|---|
| .. | .. |
|---|
| 19 | 23 | This builds a module that calls trace_printk() and can be used to |
|---|
| 20 | 24 | test various trace_printk() calls from a module. |
|---|
| 21 | 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 | + |
|---|
| 22 | 41 | config SAMPLE_KOBJECT |
|---|
| 23 | | - tristate "Build kobject examples -- loadable modules only" |
|---|
| 24 | | - depends on m |
|---|
| 42 | + tristate "Build kobject examples" |
|---|
| 25 | 43 | help |
|---|
| 26 | 44 | This config option will allow you to build a number of |
|---|
| 27 | 45 | different kobject sample modules showing how to use kobjects, |
|---|
| .. | .. |
|---|
| 95 | 113 | |
|---|
| 96 | 114 | config SAMPLE_CONNECTOR |
|---|
| 97 | 115 | tristate "Build connector sample -- loadable modules only" |
|---|
| 98 | | - depends on CONNECTOR && m |
|---|
| 116 | + depends on CONNECTOR && HEADERS_INSTALL && m |
|---|
| 99 | 117 | help |
|---|
| 100 | 118 | When enabled, this builds both a sample kernel module for |
|---|
| 101 | 119 | the connector interface and a user space tool to communicate |
|---|
| 102 | 120 | with it. |
|---|
| 103 | | - See also Documentation/connector/connector.txt |
|---|
| 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 |
|---|
| 104 | 130 | |
|---|
| 105 | 131 | config SAMPLE_SECCOMP |
|---|
| 106 | | - tristate "Build seccomp sample code -- loadable modules only" |
|---|
| 107 | | - depends on SECCOMP_FILTER && m |
|---|
| 132 | + bool "Build seccomp sample code" |
|---|
| 133 | + depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL |
|---|
| 108 | 134 | help |
|---|
| 109 | 135 | Build samples of seccomp filters using various methods of |
|---|
| 110 | 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. |
|---|
| 111 | 147 | |
|---|
| 112 | 148 | config SAMPLE_VFIO_MDEV_MTTY |
|---|
| 113 | 149 | tristate "Build VFIO mtty example mediated device sample code -- loadable modules only" |
|---|
| .. | .. |
|---|
| 147 | 183 | Specifically it does *not* include any legacy vga stuff. |
|---|
| 148 | 184 | Device looks a lot like "qemu -device secondary-vga". |
|---|
| 149 | 185 | |
|---|
| 150 | | -config SAMPLE_STATX |
|---|
| 151 | | - bool "Build example extended-stat using code" |
|---|
| 152 | | - depends on BROKEN |
|---|
| 186 | +config SAMPLE_ANDROID_BINDERFS |
|---|
| 187 | + bool "Build Android binderfs example" |
|---|
| 188 | + depends on CC_CAN_LINK && HEADERS_INSTALL |
|---|
| 153 | 189 | help |
|---|
| 154 | | - Build example userspace program to use the new extended-stat syscall. |
|---|
| 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 watch_queue notification API 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. |
|---|
| 155 | 218 | |
|---|
| 156 | 219 | endif # SAMPLES |
|---|