drivers/usb/host/xhci-debugfs.h
Source file repositories/reference/linux-study-clean/drivers/usb/host/xhci-debugfs.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/usb/host/xhci-debugfs.h- Extension
.h- Size
- 4297 bytes
- Lines
- 144
- Domain
- Driver Families
- Bucket
- drivers/usb
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/debugfs.h
Detected Declarations
struct xhci_regsetstruct xhci_file_mapstruct xhci_ep_privstruct xhci_slot_privfunction xhci_debugfs_init
Annotated Snippet
struct xhci_regset {
char name[DEBUGFS_NAMELEN];
struct debugfs_regset32 regset;
size_t nregs;
struct list_head list;
};
struct xhci_file_map {
const char *name;
int (*show)(struct seq_file *s, void *unused);
};
struct xhci_ep_priv {
char name[DEBUGFS_NAMELEN];
struct dentry *root;
struct xhci_stream_info *stream_info;
struct xhci_ring *show_ring;
unsigned int stream_id;
};
struct xhci_slot_priv {
char name[DEBUGFS_NAMELEN];
struct dentry *root;
struct xhci_ep_priv *eps[31];
struct xhci_virt_device *dev;
};
#ifdef CONFIG_DEBUG_FS
void xhci_debugfs_init(struct xhci_hcd *xhci);
void xhci_debugfs_exit(struct xhci_hcd *xhci);
void __init xhci_debugfs_create_root(void);
void __exit xhci_debugfs_remove_root(void);
void xhci_debugfs_create_slot(struct xhci_hcd *xhci, int slot_id);
void xhci_debugfs_remove_slot(struct xhci_hcd *xhci, int slot_id);
void xhci_debugfs_create_endpoint(struct xhci_hcd *xhci,
struct xhci_virt_device *virt_dev,
int ep_index);
void xhci_debugfs_remove_endpoint(struct xhci_hcd *xhci,
struct xhci_virt_device *virt_dev,
int ep_index);
void xhci_debugfs_create_stream_files(struct xhci_hcd *xhci,
struct xhci_virt_device *virt_dev,
int ep_index);
#else
static inline void xhci_debugfs_init(struct xhci_hcd *xhci) { }
static inline void xhci_debugfs_exit(struct xhci_hcd *xhci) { }
static inline void __init xhci_debugfs_create_root(void) { }
static inline void __exit xhci_debugfs_remove_root(void) { }
static inline void xhci_debugfs_create_slot(struct xhci_hcd *x, int s) { }
static inline void xhci_debugfs_remove_slot(struct xhci_hcd *x, int s) { }
static inline void
xhci_debugfs_create_endpoint(struct xhci_hcd *xhci,
struct xhci_virt_device *virt_dev,
int ep_index) { }
static inline void
xhci_debugfs_remove_endpoint(struct xhci_hcd *xhci,
struct xhci_virt_device *virt_dev,
int ep_index) { }
static inline void
xhci_debugfs_create_stream_files(struct xhci_hcd *xhci,
struct xhci_virt_device *virt_dev,
int ep_index) { }
#endif /* CONFIG_DEBUG_FS */
#endif /* __LINUX_XHCI_DEBUGFS_H */
Annotation
- Immediate include surface: `linux/debugfs.h`.
- Detected declarations: `struct xhci_regset`, `struct xhci_file_map`, `struct xhci_ep_priv`, `struct xhci_slot_priv`, `function xhci_debugfs_init`.
- Atlas domain: Driver Families / drivers/usb.
- Implementation status: source implementation candidate.
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.