mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 12:21:22 -05:00
Adds a new sample driver `rust_scoped_debugfs` that demonstrates the use of the scoped debugfs APIs. The driver creates a `control` directory with two write-only files, `create` and `remove`. Writing a name and a series of numbers to `create` will create a new subdirectory under a `dynamic` directory. This new subdirectory will contain files that expose the numbers as atomic values. Writing a name to `remove` will remove the corresponding subdirectory from the `dynamic` directory. This sample serves as an example of how to use the `debugfs::Scope` and `debugfs::ScopedDir` APIs to create and manage debugfs entries that are tied to the lifetime of a data structure. Signed-off-by: Matthew Maurer <mmaurer@google.com> Tested-by: Dirk Behme <dirk.behme@de.bosch.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20250904-debugfs-rust-v11-7-7d12a165685a@google.com [ Rename "scoped_debugfs" -> "debugfs_scoped", fix up Result<(), Error> -> Result. - Danilo ] Signed-off-by: Danilo Krummrich <dakr@kernel.org>
138 lines
3.0 KiB
Plaintext
138 lines
3.0 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menuconfig SAMPLES_RUST
|
|
bool "Rust samples"
|
|
depends on RUST
|
|
help
|
|
You can build sample Rust kernel code here.
|
|
|
|
If unsure, say N.
|
|
|
|
if SAMPLES_RUST
|
|
|
|
config SAMPLE_RUST_CONFIGFS
|
|
tristate "Configfs sample"
|
|
depends on CONFIGFS_FS
|
|
help
|
|
This option builds the Rust configfs sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_configfs.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_MINIMAL
|
|
tristate "Minimal"
|
|
help
|
|
This option builds the Rust minimal module sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_minimal.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_MISC_DEVICE
|
|
tristate "Misc device"
|
|
help
|
|
This option builds the Rust misc device.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_misc_device.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_PRINT
|
|
tristate "Printing macros"
|
|
help
|
|
This option builds the Rust printing macros sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_print.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_DMA
|
|
tristate "DMA Test Driver"
|
|
depends on PCI
|
|
help
|
|
This option builds the Rust DMA Test driver sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_dma.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_DEBUGFS
|
|
tristate "DebugFS Test Module"
|
|
depends on DEBUG_FS
|
|
help
|
|
This option builds the Rust DebugFS Test module sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_debugfs.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_DEBUGFS_SCOPED
|
|
tristate "Scoped DebugFS Test Module"
|
|
depends on DEBUG_FS
|
|
help
|
|
This option builds the Rust Scoped DebugFS Test module sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_debugfs_scoped.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_DRIVER_PCI
|
|
tristate "PCI Driver"
|
|
depends on PCI
|
|
help
|
|
This option builds the Rust PCI driver sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called driver_pci.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_DRIVER_PLATFORM
|
|
tristate "Platform Driver"
|
|
help
|
|
This option builds the Rust Platform driver sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_driver_platform.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_DRIVER_FAUX
|
|
tristate "Faux Driver"
|
|
help
|
|
This option builds the Rust Faux driver sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_driver_faux.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_DRIVER_AUXILIARY
|
|
tristate "Auxiliary Driver"
|
|
depends on PCI
|
|
select AUXILIARY_BUS
|
|
help
|
|
This option builds the Rust auxiliary driver sample.
|
|
|
|
To compile this as a module, choose M here:
|
|
the module will be called rust_driver_auxiliary.
|
|
|
|
If unsure, say N.
|
|
|
|
config SAMPLE_RUST_HOSTPROGS
|
|
bool "Host programs"
|
|
help
|
|
This option builds the Rust host program samples.
|
|
|
|
If unsure, say N.
|
|
|
|
endif # SAMPLES_RUST
|