sound/core/seq/seq_system.h
Source file repositories/reference/linux-study-clean/sound/core/seq/seq_system.h
File Facts
- System
- Linux kernel
- Corpus path
sound/core/seq/seq_system.h- Extension
.h- Size
- 1757 bytes
- Lines
- 47
- Domain
- Driver Families
- Bucket
- sound/core
- 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
sound/seq_kernel.h
Detected Declarations
function snd_seq_system_ump_notify
Annotated Snippet
#ifndef __SND_SEQ_SYSTEM_H
#define __SND_SEQ_SYSTEM_H
#include <sound/seq_kernel.h>
/* entry points for broadcasting system events */
void snd_seq_system_broadcast(int client, int port, int type, bool atomic);
/* normal system notification event broadcast */
#define notify_event(client, port, type) \
snd_seq_system_broadcast(client, port, type, false)
/* notify UMP EP/FB change event */
static inline void snd_seq_system_ump_notify(int client, int block, int type,
bool atomic)
{
/* reuse the existing snd_seq_system_broadcast():
* struct snd_seq_ev_ump_notify is compatible with struct snd_seq_addr
*/
snd_seq_system_broadcast(client, block, type, atomic);
}
#define snd_seq_system_client_ev_client_start(client) notify_event(client, 0, SNDRV_SEQ_EVENT_CLIENT_START)
#define snd_seq_system_client_ev_client_exit(client) notify_event(client, 0, SNDRV_SEQ_EVENT_CLIENT_EXIT)
#define snd_seq_system_client_ev_client_change(client) notify_event(client, 0, SNDRV_SEQ_EVENT_CLIENT_CHANGE)
#define snd_seq_system_client_ev_port_start(client, port) notify_event(client, port, SNDRV_SEQ_EVENT_PORT_START)
#define snd_seq_system_client_ev_port_exit(client, port) notify_event(client, port, SNDRV_SEQ_EVENT_PORT_EXIT)
#define snd_seq_system_client_ev_port_change(client, port) notify_event(client, port, SNDRV_SEQ_EVENT_PORT_CHANGE)
int snd_seq_system_notify(int client, int port, struct snd_seq_event *ev,
bool atomic);
/* register our internal client */
int snd_seq_system_client_init(void);
/* unregister our internal client */
void snd_seq_system_client_done(void);
#endif
Annotation
- Immediate include surface: `sound/seq_kernel.h`.
- Detected declarations: `function snd_seq_system_ump_notify`.
- Atlas domain: Driver Families / sound/core.
- 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.