drivers/pci/endpoint/functions/pci-epf-test.c
Source file repositories/reference/linux-study-clean/drivers/pci/endpoint/functions/pci-epf-test.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/pci/endpoint/functions/pci-epf-test.c- Extension
.c- Size
- 40153 bytes
- Lines
- 1522
- Domain
- Representative Device Path
- Bucket
- PCIe NVMe Storage Path
- Inferred role
- Representative Device Path: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.
- Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/crc32.hlinux/delay.hlinux/dmaengine.hlinux/io.hlinux/module.hlinux/msi.hlinux/slab.hlinux/pci_ids.hlinux/random.hlinux/pci-epc.hlinux/pci-epf.hlinux/pci-ep-msi.hlinux/pci_regs.h
Detected Declarations
struct pci_epf_teststruct pci_epf_test_regstruct epf_dma_filterfunction pci_epf_test_dma_callbackfunction pci_epf_test_data_transferfunction epf_dma_filter_fnfunction pci_epf_test_init_dma_chanfunction pci_epf_test_clean_dma_chanfunction pci_epf_test_print_ratefunction pci_epf_test_copyfunction pci_epf_test_readfunction pci_epf_test_writefunction pci_epf_test_raise_irqfunction pci_epf_test_doorbell_handlerfunction pci_epf_test_doorbell_cleanupfunction pci_epf_test_enable_doorbellfunction pci_epf_test_disable_doorbellfunction pci_epf_test_subrange_sig_bytefunction pci_epf_test_bar_subrange_setupfunction pci_epf_test_bar_subrange_clearfunction pci_epf_test_cmd_handlerfunction pci_epf_test_set_barfunction pci_epf_test_clear_barfunction pci_epf_test_set_capabilitiesfunction pci_epf_test_epc_initfunction pci_epf_test_epc_deinitfunction pci_epf_test_link_upfunction pci_epf_test_link_downfunction pci_epf_test_alloc_spacefunction pci_epf_test_free_spacefunction pci_epf_test_bindfunction pci_epf_test_unbindfunction pci_epf_test_probefunction pci_epf_test_initfunction pci_epf_test_exitmodule init pci_epf_test_init
Annotated Snippet
module_init(pci_epf_test_init);
static void __exit pci_epf_test_exit(void)
{
if (kpcitest_workqueue)
destroy_workqueue(kpcitest_workqueue);
pci_epf_unregister_driver(&test_driver);
}
module_exit(pci_epf_test_exit);
MODULE_DESCRIPTION("PCI EPF TEST DRIVER");
MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
MODULE_LICENSE("GPL v2");
Annotation
- Immediate include surface: `linux/crc32.h`, `linux/delay.h`, `linux/dmaengine.h`, `linux/io.h`, `linux/module.h`, `linux/msi.h`, `linux/slab.h`, `linux/pci_ids.h`.
- Detected declarations: `struct pci_epf_test`, `struct pci_epf_test_reg`, `struct epf_dma_filter`, `function pci_epf_test_dma_callback`, `function pci_epf_test_data_transfer`, `function epf_dma_filter_fn`, `function pci_epf_test_init_dma_chan`, `function pci_epf_test_clean_dma_chan`, `function pci_epf_test_print_rate`, `function pci_epf_test_copy`.
- Atlas domain: Representative Device Path / PCIe NVMe Storage Path.
- Implementation status: integration implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.