drivers/dma/idxd/debugfs.c
Source file repositories/reference/linux-study-clean/drivers/dma/idxd/debugfs.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/dma/idxd/debugfs.c- Extension
.c- Size
- 3458 bytes
- Lines
- 139
- Domain
- Driver Families
- Bucket
- drivers/dma
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/init.hlinux/kernel.hlinux/module.hlinux/pci.hlinux/debugfs.hlinux/io-64-nonatomic-lo-hi.huapi/linux/idxd.hidxd.hregisters.h
Detected Declarations
function dump_event_entryfunction debugfs_evl_showfunction idxd_device_init_debugfsfunction idxd_device_remove_debugfsfunction idxd_init_debugfsfunction idxd_remove_debugfs
Annotated Snippet
if (IS_ERR(idxd->dbgfs_evl_file)) {
debugfs_remove_recursive(idxd->dbgfs_dir);
idxd->dbgfs_dir = NULL;
return PTR_ERR(idxd->dbgfs_evl_file);
}
}
return 0;
}
void idxd_device_remove_debugfs(struct idxd_device *idxd)
{
debugfs_remove_recursive(idxd->dbgfs_dir);
}
int idxd_init_debugfs(void)
{
if (!debugfs_initialized())
return 0;
idxd_debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, NULL);
if (IS_ERR(idxd_debugfs_dir))
return PTR_ERR(idxd_debugfs_dir);
return 0;
}
void idxd_remove_debugfs(void)
{
debugfs_remove_recursive(idxd_debugfs_dir);
}
Annotation
- Immediate include surface: `linux/init.h`, `linux/kernel.h`, `linux/module.h`, `linux/pci.h`, `linux/debugfs.h`, `linux/io-64-nonatomic-lo-hi.h`, `uapi/linux/idxd.h`, `idxd.h`.
- Detected declarations: `function dump_event_entry`, `function debugfs_evl_show`, `function idxd_device_init_debugfs`, `function idxd_device_remove_debugfs`, `function idxd_init_debugfs`, `function idxd_remove_debugfs`.
- Atlas domain: Driver Families / drivers/dma.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.