| # SPDX-License-Identifier: GPL-2.0-only | 
 | menuconfig SAMPLES | 
 | 	bool "Sample kernel code" | 
 | 	help | 
 | 	  You can build and test sample kernel code here. | 
 |  | 
 | if SAMPLES | 
 |  | 
 | config SAMPLE_AUXDISPLAY | 
 | 	bool "auxdisplay sample" | 
 | 	depends on CC_CAN_LINK | 
 |  | 
 | config SAMPLE_TRACE_EVENTS | 
 | 	tristate "Build trace_events examples -- loadable modules only" | 
 | 	depends on EVENT_TRACING && m | 
 | 	help | 
 | 	  This build trace event example modules. | 
 |  | 
 | config SAMPLE_TRACE_PRINTK | 
 |         tristate "Build trace_printk module - tests various trace_printk formats" | 
 | 	depends on EVENT_TRACING && m | 
 | 	help | 
 | 	 This builds a module that calls trace_printk() and can be used to | 
 | 	 test various trace_printk() calls from a module. | 
 |  | 
 | config SAMPLE_FTRACE_DIRECT | 
 | 	tristate "Build register_ftrace_direct() example" | 
 | 	depends on DYNAMIC_FTRACE_WITH_DIRECT_CALLS && m | 
 | 	depends on X86_64 # has x86_64 inlined asm | 
 | 	help | 
 | 	  This builds an ftrace direct function example | 
 | 	  that hooks to wake_up_process and prints the parameters. | 
 |  | 
 | config SAMPLE_TRACE_ARRAY | 
 |         tristate "Build sample module for kernel access to Ftrace instancess" | 
 | 	depends on EVENT_TRACING && m | 
 | 	help | 
 | 	 This builds a module that demonstrates the use of various APIs to | 
 | 	 access Ftrace instances from within the kernel. | 
 |  | 
 | config SAMPLE_KOBJECT | 
 | 	tristate "Build kobject examples" | 
 | 	help | 
 | 	  This config option will allow you to build a number of | 
 | 	  different kobject sample modules showing how to use kobjects, | 
 | 	  ksets, and ktypes properly. | 
 |  | 
 | 	  If in doubt, say "N" here. | 
 |  | 
 | config SAMPLE_KPROBES | 
 | 	tristate "Build kprobes examples -- loadable modules only" | 
 | 	depends on KPROBES && m | 
 | 	help | 
 | 	  This build several kprobes example modules. | 
 |  | 
 | config SAMPLE_KRETPROBES | 
 | 	tristate "Build kretprobes example -- loadable modules only" | 
 | 	default m | 
 | 	depends on SAMPLE_KPROBES && KRETPROBES | 
 |  | 
 | config SAMPLE_HW_BREAKPOINT | 
 | 	tristate "Build kernel hardware breakpoint examples -- loadable module only" | 
 | 	depends on HAVE_HW_BREAKPOINT && m | 
 | 	help | 
 | 	  This builds kernel hardware breakpoint example modules. | 
 |  | 
 | config SAMPLE_KFIFO | 
 | 	tristate "Build kfifo examples -- loadable modules only" | 
 | 	depends on m | 
 | 	help | 
 | 	  This config option will allow you to build a number of | 
 | 	  different kfifo sample modules showing how to use the | 
 | 	  generic kfifo API. | 
 |  | 
 | 	  If in doubt, say "N" here. | 
 |  | 
 | config SAMPLE_KDB | 
 | 	tristate "Build kdb command example -- loadable modules only" | 
 | 	depends on KGDB_KDB && m | 
 | 	help | 
 | 	  Build an example of how to dynamically add the hello | 
 | 	  command to the kdb shell. | 
 |  | 
 | config SAMPLE_QMI_CLIENT | 
 | 	tristate "Build qmi client sample -- loadable modules only" | 
 | 	depends on m | 
 | 	depends on ARCH_QCOM | 
 | 	depends on NET | 
 | 	select QCOM_QMI_HELPERS | 
 | 	help | 
 | 	  Build an QMI client sample driver, which demonstrates how to | 
 | 	  communicate with a remote QRTR service, using QMI encoded messages. | 
 |  | 
 | config SAMPLE_RPMSG_CLIENT | 
 | 	tristate "Build rpmsg client sample -- loadable modules only" | 
 | 	depends on RPMSG && m | 
 | 	help | 
 | 	  Build an rpmsg client sample driver, which demonstrates how | 
 | 	  to communicate with an AMP-configured remote processor over | 
 | 	  the rpmsg bus. | 
 |  | 
 | config SAMPLE_LIVEPATCH | 
 | 	tristate "Build live patching samples -- loadable modules only" | 
 | 	depends on LIVEPATCH && m | 
 | 	help | 
 | 	  Build sample live patch demonstrations. | 
 |  | 
 | config SAMPLE_CONFIGFS | 
 | 	tristate "Build configfs patching sample -- loadable modules only" | 
 | 	depends on CONFIGFS_FS && m | 
 | 	help | 
 | 	  Builds a sample configfs interface. | 
 |  | 
 | config SAMPLE_CONNECTOR | 
 | 	tristate "Build connector sample -- loadable modules only" | 
 | 	depends on CONNECTOR && HEADERS_INSTALL && m | 
 | 	help | 
 | 	  When enabled, this builds both a sample kernel module for | 
 | 	  the connector interface and a user space tool to communicate | 
 | 	  with it. | 
 | 	  See also Documentation/driver-api/connector.rst | 
 |  | 
 | config SAMPLE_HIDRAW | 
 | 	bool "hidraw sample" | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 |  | 
 | config SAMPLE_PIDFD | 
 | 	bool "pidfd sample" | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 |  | 
 | config SAMPLE_SECCOMP | 
 | 	bool "Build seccomp sample code" | 
 | 	depends on SECCOMP_FILTER && CC_CAN_LINK && HEADERS_INSTALL | 
 | 	help | 
 | 	  Build samples of seccomp filters using various methods of | 
 | 	  BPF filter construction. | 
 |  | 
 | config SAMPLE_TIMER | 
 | 	bool "Timer sample" | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 |  | 
 | config SAMPLE_UHID | 
 | 	bool "UHID sample" | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 | 	help | 
 | 	  Build UHID sample program. | 
 |  | 
 | config SAMPLE_VFIO_MDEV_MTTY | 
 | 	tristate "Build VFIO mtty example mediated device sample code -- loadable modules only" | 
 | 	depends on VFIO_MDEV_DEVICE && m | 
 | 	help | 
 | 	  Build a virtual tty sample driver for use as a VFIO | 
 | 	  mediated device | 
 |  | 
 | config SAMPLE_VFIO_MDEV_MDPY | 
 | 	tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" | 
 | 	depends on VFIO_MDEV_DEVICE && m | 
 | 	help | 
 | 	  Build a virtual display sample driver for use as a VFIO | 
 | 	  mediated device.  It is a simple framebuffer and supports | 
 | 	  the region display interface (VFIO_GFX_PLANE_TYPE_REGION). | 
 |  | 
 | config SAMPLE_VFIO_MDEV_MDPY_FB | 
 | 	tristate "Build VFIO mdpy example guest fbdev driver -- loadable module only" | 
 | 	depends on FB && m | 
 | 	select FB_CFB_FILLRECT | 
 | 	select FB_CFB_COPYAREA | 
 | 	select FB_CFB_IMAGEBLIT | 
 | 	help | 
 | 	  Guest fbdev driver for the virtual display sample driver. | 
 |  | 
 | config SAMPLE_VFIO_MDEV_MBOCHS | 
 | 	tristate "Build VFIO mdpy example mediated device sample code -- loadable modules only" | 
 | 	depends on VFIO_MDEV_DEVICE && m | 
 | 	select DMA_SHARED_BUFFER | 
 | 	help | 
 | 	  Build a virtual display sample driver for use as a VFIO | 
 | 	  mediated device.  It supports the region display interface | 
 | 	  (VFIO_GFX_PLANE_TYPE_DMABUF). | 
 | 	  Emulate enough of qemu stdvga to make bochs-drm.ko happy. | 
 | 	  That is basically the vram memory bar and the bochs dispi | 
 | 	  interface vbe registers in the mmio register bar. | 
 | 	  Specifically it does *not* include any legacy vga stuff. | 
 | 	  Device looks a lot like "qemu -device secondary-vga". | 
 |  | 
 | config SAMPLE_ANDROID_BINDERFS | 
 | 	bool "Build Android binderfs example" | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 | 	help | 
 | 	  Builds a sample program to illustrate the use of the Android binderfs | 
 | 	  filesystem. | 
 |  | 
 | config SAMPLE_VFS | 
 | 	bool "Build example programs that use new VFS system calls" | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 | 	help | 
 | 	  Build example userspace programs that use new VFS system calls such | 
 | 	  as mount API and statx().  Note that this is restricted to the x86 | 
 | 	  arch whilst it accesses system calls that aren't yet in all arches. | 
 |  | 
 | config SAMPLE_INTEL_MEI | 
 | 	bool "Build example program working with intel mei driver" | 
 | 	depends on INTEL_MEI | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 | 	help | 
 | 	  Build a sample program to work with mei device. | 
 |  | 
 | config SAMPLE_WATCHDOG | 
 | 	bool "watchdog sample" | 
 | 	depends on CC_CAN_LINK | 
 |  | 
 | config SAMPLE_WATCH_QUEUE | 
 | 	bool "Build example /dev/watch_queue notification consumer" | 
 | 	depends on CC_CAN_LINK && HEADERS_INSTALL | 
 | 	help | 
 | 	  Build example userspace program to use the new mount_notify(), | 
 | 	  sb_notify() syscalls and the KEYCTL_WATCH_KEY keyctl() function. | 
 |  | 
 | endif # SAMPLES |