sound/soc/codecs/aw88395/aw88395_device.h
Source file repositories/reference/linux-study-clean/sound/soc/codecs/aw88395/aw88395_device.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/codecs/aw88395/aw88395_device.h- Extension
.h- Size
- 5044 bytes
- Lines
- 219
- 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
aw88395.haw88395_data_type.haw88395_lib.h
Detected Declarations
struct aw_profctrl_descstruct aw_volume_descstruct aw_dsp_mem_descstruct aw_vmax_descstruct aw_cali_delay_descstruct cali_cfgstruct aw_cali_backup_descstruct aw_cali_descstruct aw_containerstruct aw_deviceenum AW88395_DEV_STATUSenum AW88395_DEV_FW_STATUSenum AW88395_DEV_MEMCLKenum AW88395_DEV_DSP_CFG
Annotated Snippet
struct aw_profctrl_desc {
unsigned int cur_mode;
};
enum {
CALI_RESULT_NORMAL,
CALI_RESULT_ERROR,
};
struct aw_volume_desc {
unsigned int init_volume;
unsigned int mute_volume;
unsigned int ctl_volume;
unsigned int max_volume;
};
struct aw_dsp_mem_desc {
unsigned int dsp_madd_reg;
unsigned int dsp_mdat_reg;
unsigned int dsp_fw_base_addr;
unsigned int dsp_cfg_base_addr;
};
struct aw_vmax_desc {
unsigned int init_vmax;
};
struct aw_cali_delay_desc {
unsigned int delay;
};
#define AW_CALI_CFG_NUM (4)
struct cali_cfg {
uint32_t data[AW_CALI_CFG_NUM];
};
struct aw_cali_backup_desc {
unsigned int dsp_ng_cfg;
unsigned int dsp_lp_cfg;
};
struct aw_cali_desc {
u32 cali_re;
u32 ra;
bool cali_switch;
bool cali_running;
uint16_t cali_result;
uint16_t store_vol;
struct cali_cfg cali_cfg;
struct aw_cali_backup_desc backup_info;
};
struct aw_container {
int len;
u8 data[] __counted_by(len);
};
struct aw_device {
int status;
struct mutex dsp_lock;
unsigned char prof_cur;
unsigned char prof_index;
unsigned char dsp_crc_st;
unsigned char dsp_cfg;
u16 chip_id;
unsigned int channel;
unsigned int fade_step;
unsigned int prof_data_type;
struct i2c_client *i2c;
struct device *dev;
struct regmap *regmap;
char *acf;
u32 dsp_fw_len;
u32 dsp_cfg_len;
u8 platform;
u8 fw_status;
unsigned int fade_in_time;
unsigned int fade_out_time;
struct aw_prof_info prof_info;
struct aw_sec_data_desc crc_dsp_cfg;
struct aw_profctrl_desc profctrl_desc;
struct aw_volume_desc volume_desc;
struct aw_dsp_mem_desc dsp_mem_desc;
struct aw_vmax_desc vmax_desc;
Annotation
- Immediate include surface: `aw88395.h`, `aw88395_data_type.h`, `aw88395_lib.h`.
- Detected declarations: `struct aw_profctrl_desc`, `struct aw_volume_desc`, `struct aw_dsp_mem_desc`, `struct aw_vmax_desc`, `struct aw_cali_delay_desc`, `struct cali_cfg`, `struct aw_cali_backup_desc`, `struct aw_cali_desc`, `struct aw_container`, `struct aw_device`.
- 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.