kernel/time/test_udelay.c

Source file repositories/reference/linux-study-clean/kernel/time/test_udelay.c

File Facts

System
Linux kernel
Corpus path
kernel/time/test_udelay.c
Extension
.c
Size
3738 bytes
Lines
161
Domain
Core OS
Bucket
Scheduler, Processes, Timers, Sync, And Syscalls
Inferred role
Core OS: operation-table or driver-model contract
Status
pattern implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

static const struct file_operations udelay_test_debugfs_ops = {
	.owner = THIS_MODULE,
	.open = udelay_test_open,
	.read = seq_read,
	.write = udelay_test_write,
	.llseek = seq_lseek,
	.release = single_release,
};

static int __init udelay_test_init(void)
{
	mutex_lock(&udelay_test_lock);
	debugfs_create_file(DEBUGFS_FILENAME, S_IRUSR, NULL, NULL,
			    &udelay_test_debugfs_ops);
	mutex_unlock(&udelay_test_lock);

	return 0;
}

module_init(udelay_test_init);

static void __exit udelay_test_exit(void)
{
	mutex_lock(&udelay_test_lock);
	debugfs_lookup_and_remove(DEBUGFS_FILENAME, NULL);
	mutex_unlock(&udelay_test_lock);
}

module_exit(udelay_test_exit);

MODULE_DESCRIPTION("udelay test module");
MODULE_AUTHOR("David Riley <davidriley@chromium.org>");
MODULE_LICENSE("GPL");

Annotation

Implementation Notes