sound/soc/codecs/da7219-aad.h

Source file repositories/reference/linux-study-clean/sound/soc/codecs/da7219-aad.h

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/da7219-aad.h
Extension
.h
Size
7399 bytes
Lines
228
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct da7219_aad_priv {
	struct snd_soc_component *component;
	int irq;
	int gnd_switch_delay;

	u8 micbias_pulse_lvl;
	u32 micbias_pulse_time;

	u8 btn_cfg;

	struct work_struct btn_det_work;
	struct work_struct hptest_work;
	struct delayed_work jack_det_work;
	struct workqueue_struct *aad_wq;

	struct snd_soc_jack *jack;
	bool micbias_resume_enable;
	bool jack_inserted;
};

/* AAD control */
void da7219_aad_jack_det(struct snd_soc_component *component, struct snd_soc_jack *jack);

/* Suspend/Resume */
#ifdef CONFIG_PM
void da7219_aad_suspend(struct snd_soc_component *component);
void da7219_aad_resume(struct snd_soc_component *component);
#else
static inline void da7219_aad_suspend(struct snd_soc_component *component) { }
static inline void da7219_aad_resume(struct snd_soc_component *component) { }
#endif

/* Init/Exit */
int da7219_aad_init(struct snd_soc_component *component);
void da7219_aad_exit(struct snd_soc_component *component);

/* I2C Probe */
int da7219_aad_probe(struct i2c_client *i2c);

#endif /* __DA7219_AAD_H */

Annotation

Implementation Notes