sound/soc/codecs/rt-sdw-common.h
Source file repositories/reference/linux-study-clean/sound/soc/codecs/rt-sdw-common.h
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/codecs/rt-sdw-common.h- Extension
.h- Size
- 2147 bytes
- Lines
- 67
- 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 rt_sdca_dmic_kctrl_priv
Annotated Snippet
struct rt_sdca_dmic_kctrl_priv {
unsigned int reg_base;
unsigned int count;
unsigned int max;
unsigned int invert;
};
#define RT_SDCA_PR_VALUE(xreg_base, xcount, xmax, xinvert) \
((unsigned long)&(struct rt_sdca_dmic_kctrl_priv) \
{.reg_base = xreg_base, .count = xcount, .max = xmax, \
.invert = xinvert})
#define RT_SDCA_FU_CTRL(xname, reg_base, xmax, xinvert, xcount, \
xinfo, xget, xput) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
.info = xinfo, \
.get = xget, \
.put = xput, \
.private_value = RT_SDCA_PR_VALUE(reg_base, xcount, xmax, xinvert)}
#define RT_SDCA_EXT_TLV(xname, reg_base, xhandler_get,\
xhandler_put, xcount, xmax, tlv_array, xinfo) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ | \
SNDRV_CTL_ELEM_ACCESS_READWRITE, \
.tlv.p = (tlv_array), \
.info = xinfo, \
.get = xhandler_get, .put = xhandler_put, \
.private_value = RT_SDCA_PR_VALUE(reg_base, xcount, xmax, 0) }
int rt_sdca_index_write(struct regmap *map, unsigned int nid,
unsigned int reg, unsigned int value);
int rt_sdca_index_read(struct regmap *map, unsigned int nid,
unsigned int reg, unsigned int *value);
int rt_sdca_index_update_bits(struct regmap *map,
unsigned int nid, unsigned int reg, unsigned int mask, unsigned int val);
int rt_sdca_btn_type(unsigned char *buffer);
int rt_sdca_headset_detect(struct regmap *map, unsigned int entity_id);
int rt_sdca_button_detect(struct regmap *map, unsigned int entity_id,
unsigned int hid_buf_addr, unsigned int hid_id);
#endif /* __RT_SDW_COMMON_H__ */
Annotation
- Detected declarations: `struct rt_sdca_dmic_kctrl_priv`.
- 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.