sound/soc/loongson/loongson_i2s.h
Source file repositories/reference/linux-study-clean/sound/soc/loongson/loongson_i2s.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/loongson/loongson_i2s.h- Extension
.h- Size
- 2208 bytes
- Lines
- 73
- Domain
- Driver Families
- Bucket
- sound/soc
- 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/regmap.hsound/dmaengine_pcm.h
Detected Declarations
struct loongson_idma_datastruct loongson_i2s
Annotated Snippet
struct loongson_idma_data {
dma_addr_t dev_addr; /* device physical address for DMA */
void __iomem *order_addr; /* DMA order register */
int irq; /* DMA irq */
};
struct loongson_i2s {
struct device *dev;
union {
struct snd_dmaengine_dai_dma_data playback_dma_data;
struct loongson_idma_data tx_dma_data;
};
union {
struct snd_dmaengine_dai_dma_data capture_dma_data;
struct loongson_idma_data rx_dma_data;
};
struct regmap *regmap;
void __iomem *reg_base;
u32 rev_id;
u32 clk_rate;
u32 sysclk;
};
extern const struct regmap_config loongson_i2s_regmap_config;
extern const struct dev_pm_ops loongson_i2s_pm;
extern struct snd_soc_dai_driver loongson_i2s_dai;
#endif
Annotation
- Immediate include surface: `linux/regmap.h`, `sound/dmaengine_pcm.h`.
- Detected declarations: `struct loongson_idma_data`, `struct loongson_i2s`.
- Atlas domain: Driver Families / sound/soc.
- 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.