drivers/net/ethernet/qualcomm/qca_spi.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/qualcomm/qca_spi.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/qualcomm/qca_spi.h- Extension
.h- Size
- 1812 bytes
- Lines
- 97
- Domain
- Driver Families
- Bucket
- drivers/net
- 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/netdevice.hlinux/sched.hlinux/skbuff.hlinux/spi/spi.hlinux/types.hqca_7k_common.h
Detected Declarations
struct tx_ringstruct qcaspi_statsstruct qcaspi
Annotated Snippet
struct tx_ring {
struct sk_buff *skb[QCASPI_TX_RING_MAX_LEN];
u16 head;
u16 tail;
u16 size;
u16 count;
};
struct qcaspi_stats {
u64 trig_reset;
u64 device_reset;
u64 reset_timeout;
u64 read_err;
u64 write_err;
u64 read_buf_err;
u64 write_buf_err;
u64 out_of_mem;
u64 write_buf_miss;
u64 ring_full;
u64 spi_err;
u64 write_verify_failed;
u64 buf_avail_err;
u64 bad_signature;
};
struct qcaspi {
struct net_device *net_dev;
struct spi_device *spi_dev;
struct task_struct *spi_thread;
struct tx_ring txr;
struct qcaspi_stats stats;
u8 *rx_buffer;
u32 buffer_size;
u8 sync;
struct qcafrm_handle frm_handle;
struct sk_buff *rx_skb;
unsigned long flags;
u16 reset_count;
#ifdef CONFIG_DEBUG_FS
struct dentry *device_root;
#endif
/* user configurable options */
u8 legacy_mode;
u16 burst_len;
};
#endif /* _QCA_SPI_H */
Annotation
- Immediate include surface: `linux/netdevice.h`, `linux/sched.h`, `linux/skbuff.h`, `linux/spi/spi.h`, `linux/types.h`, `qca_7k_common.h`.
- Detected declarations: `struct tx_ring`, `struct qcaspi_stats`, `struct qcaspi`.
- Atlas domain: Driver Families / drivers/net.
- 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.