sound/soc/codecs/fs-amp-lib.h
Source file repositories/reference/linux-study-clean/sound/soc/codecs/fs-amp-lib.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/codecs/fs-amp-lib.h- Extension
.h- Size
- 2886 bytes
- Lines
- 151
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct fs_reg_valstruct fs_reg_bitsstruct fs_cmd_pkgstruct fs_fwm_indexstruct fs_fwm_tablestruct fs_scene_indexstruct fs_reg_tablestruct fs_file_tablestruct fs_fwm_datestruct fs_fwm_headerstruct fs_i2s_sratestruct fs_pll_divstruct fs_amp_scenestruct fs_amp_libenum fs_index_type
Annotated Snippet
struct fs_reg_val {
u8 reg;
u16 val;
};
struct fs_reg_bits {
u8 cmd; /* FS_CMD_UPDATE */
u8 reg;
u16 val;
u16 mask;
};
struct fs_cmd_pkg {
union {
u8 cmd;
struct fs_reg_val regv;
struct fs_reg_bits regb;
};
};
struct fs_fwm_index {
/* Index type */
u16 type;
/* Offset address starting from the end of header */
u16 offset;
};
struct fs_fwm_table {
char name[FS_TABLE_NAME_LEN];
u16 size; /* size of buf */
u8 buf[];
};
struct fs_scene_index {
/* Offset address(scene name) in string table */
u16 name;
/* Offset address(scene reg) in register table */
u16 reg;
/* Offset address(scene model) in model table */
u16 model;
/* Offset address(scene effect) in effect table */
u16 effect;
};
struct fs_reg_table {
u16 size; /* size of buf */
u8 buf[];
};
struct fs_file_table {
u16 name;
u16 size; /* size of buf */
u8 buf[];
};
struct fs_fwm_date {
u32 year:12;
u32 month:4;
u32 day:5;
u32 hour:5;
u32 minute:6;
};
struct fs_fwm_header {
u16 version;
u16 project; /* Offset address(project name) in string table */
u16 device; /* Offset address(device name) in string table */
struct fs_fwm_date date;
u16 crc16;
u16 crc_size; /* Starting position for CRC checking */
u16 chip_type;
u16 addr; /* 7-bit i2c address */
u16 spkid;
u16 rsvd[6];
u8 params[];
};
#pragma pack(pop)
struct fs_i2s_srate {
u32 srate; /* Sample rate */
u16 i2ssr; /* Value of Bit field[I2SSR] */
};
struct fs_pll_div {
unsigned int bclk; /* Rate of bit clock */
u16 pll1;
u16 pll2;
u16 pll3;
};
Annotation
- Detected declarations: `struct fs_reg_val`, `struct fs_reg_bits`, `struct fs_cmd_pkg`, `struct fs_fwm_index`, `struct fs_fwm_table`, `struct fs_scene_index`, `struct fs_reg_table`, `struct fs_file_table`, `struct fs_fwm_date`, `struct fs_fwm_header`.
- 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.