sound/soc/codecs/rt5651.h

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

File Facts

System
Linux kernel
Corpus path
sound/soc/codecs/rt5651.h
Extension
.h
Size
73767 bytes
Lines
2103
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 rt5651_pll_code {
	bool m_bp; /* Indicates bypass m code or not. */
	int m_code;
	int n_code;
	int k_code;
};

struct rt5651_priv {
	struct snd_soc_component *component;
	struct regmap *regmap;
	/* Jack and button detect data */
	struct snd_soc_jack *hp_jack;
	struct gpio_desc *gpiod_hp_det;
	struct work_struct jack_detect_work;
	struct delayed_work bp_work;
	bool ovcd_irq_enabled;
	bool pressed;
	bool press_reported;
	int press_count;
	int release_count;
	int poll_count;
	unsigned int jd_src;
	bool jd_active_high;
	unsigned int ovcd_th;
	unsigned int ovcd_sf;

	int irq;
	int sysclk;
	int sysclk_src;
	int lrck[RT5651_AIFS];
	int bclk[RT5651_AIFS];
	int master[RT5651_AIFS];

	int pll_src;
	int pll_in;
	int pll_out;

	int dmic_en;
	bool hp_mute;
};

#endif /* __RT5651_H__ */

Annotation

Implementation Notes