include/sound/hda-mlink.h
Source file repositories/reference/linux-study-clean/include/sound/hda-mlink.h
File Facts
- System
- Linux kernel
- Corpus path
include/sound/hda-mlink.h- Extension
.h- Size
- 7182 bytes
- Lines
- 213
- Domain
- Driver Families
- Bucket
- include/sound
- 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 hdac_busstruct hdac_ext_linkfunction hda_bus_ml_initfunction hda_bus_ml_freefunction hdac_bus_eml_enable_interrupt_unlockedfunction hdac_bus_eml_set_syncprd_unlockedfunction hdac_bus_eml_sdw_set_syncprd_unlockedfunction hdac_bus_eml_wait_syncpu_unlockedfunction hdac_bus_eml_sdw_wait_syncpu_unlockedfunction hdac_bus_eml_sync_arm_unlockedfunction hdac_bus_eml_sdw_sync_go_unlockedfunction hdac_bus_eml_check_cmdsync_unlockedfunction hdac_bus_eml_sdw_check_cmdsync_unlockedfunction hdac_bus_eml_power_upfunction hdac_bus_eml_power_up_unlockedfunction hdac_bus_eml_power_downfunction hdac_bus_eml_power_down_unlockedfunction hdac_bus_eml_sdw_power_up_unlockedfunction hdac_bus_eml_sdw_power_down_unlockedfunction hdac_bus_eml_sdw_get_lsdiid_unlockedfunction hdac_bus_eml_sdw_set_lsdiidfunction hdac_bus_eml_sdw_map_stream_chfunction hda_bus_ml_put_allfunction hda_bus_ml_suspendfunction hdac_bus_eml_ssp_get_hlinkfunction hdac_bus_eml_dmic_get_hlinkfunction hdac_bus_eml_sdw_get_hlinkfunction hdac_bus_eml_get_mutexfunction hdac_bus_eml_enable_offloadfunction hdac_bus_eml_get_mic_privacy_state
Annotated Snippet
static inline void hda_bus_ml_free(struct hdac_bus *bus) { }
static inline int
hdac_bus_eml_get_count(struct hdac_bus *bus, bool alt, int elid) { return 0; }
static inline void
hdac_bus_eml_enable_interrupt_unlocked(struct hdac_bus *bus, bool alt, int elid, bool enable) { }
static inline void
hdac_bus_eml_enable_interrupt(struct hdac_bus *bus, bool alt, int elid, bool enable) { }
static inline bool
hdac_bus_eml_check_interrupt(struct hdac_bus *bus, bool alt, int elid) { return false; }
static inline int
hdac_bus_eml_set_syncprd_unlocked(struct hdac_bus *bus, bool alt, int elid, u32 syncprd)
{
return 0;
}
static inline int
hdac_bus_eml_sdw_set_syncprd_unlocked(struct hdac_bus *bus, u32 syncprd)
{
return 0;
}
static inline int
hdac_bus_eml_wait_syncpu_unlocked(struct hdac_bus *bus, bool alt, int elid)
{
return 0;
}
static inline int
hdac_bus_eml_sdw_wait_syncpu_unlocked(struct hdac_bus *bus) { return 0; }
static inline void
hdac_bus_eml_sync_arm_unlocked(struct hdac_bus *bus, bool alt, int elid, int sublink) { }
static inline void
hdac_bus_eml_sdw_sync_arm_unlocked(struct hdac_bus *bus, int sublink) { }
static inline int
hdac_bus_eml_sync_go_unlocked(struct hdac_bus *bus, bool alt, int elid) { return 0; }
static inline int
hdac_bus_eml_sdw_sync_go_unlocked(struct hdac_bus *bus) { return 0; }
static inline bool
hdac_bus_eml_check_cmdsync_unlocked(struct hdac_bus *bus, bool alt, int elid) { return false; }
static inline bool
hdac_bus_eml_sdw_check_cmdsync_unlocked(struct hdac_bus *bus) { return false; }
static inline int
hdac_bus_eml_power_up(struct hdac_bus *bus, bool alt, int elid, int sublink)
{
return 0;
}
static inline int
hdac_bus_eml_power_up_unlocked(struct hdac_bus *bus, bool alt, int elid, int sublink)
{
return 0;
}
static inline int
hdac_bus_eml_power_down(struct hdac_bus *bus, bool alt, int elid, int sublink)
{
return 0;
}
static inline int
hdac_bus_eml_power_down_unlocked(struct hdac_bus *bus, bool alt, int elid, int sublink)
{
return 0;
}
static inline int
hdac_bus_eml_sdw_power_up_unlocked(struct hdac_bus *bus, int sublink) { return 0; }
static inline int
hdac_bus_eml_sdw_power_down_unlocked(struct hdac_bus *bus, int sublink) { return 0; }
static inline int
hdac_bus_eml_sdw_get_lsdiid_unlocked(struct hdac_bus *bus, int sublink, u16 *lsdiid) { return 0; }
static inline int
hdac_bus_eml_sdw_set_lsdiid(struct hdac_bus *bus, int sublink, int dev_num) { return 0; }
static inline int
Annotation
- Detected declarations: `struct hdac_bus`, `struct hdac_ext_link`, `function hda_bus_ml_init`, `function hda_bus_ml_free`, `function hdac_bus_eml_enable_interrupt_unlocked`, `function hdac_bus_eml_set_syncprd_unlocked`, `function hdac_bus_eml_sdw_set_syncprd_unlocked`, `function hdac_bus_eml_wait_syncpu_unlocked`, `function hdac_bus_eml_sdw_wait_syncpu_unlocked`, `function hdac_bus_eml_sync_arm_unlocked`.
- Atlas domain: Driver Families / include/sound.
- 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.