#include <l4/env/errno.h>
#include <l4/lock/lock.h>
#include <l4/dde_linux/dde.h>
#include <linux/vmalloc.h>
#include <linux/fs.h>
#include "__config.h"
#include "internal.h"
#include "soundcore.h"
Go to the source code of this file.
Classes | |
struct | sound_unit |
internal sound device/unit structure More... | |
Functions | |
int | __sound_insert_unit (struct sound_unit *s, struct sound_unit **list, struct file_operations *fops) |
Low level list operator. | |
void | __sound_remove_unit (struct sound_unit **list, int unit) |
Remove a node from the chain. | |
sound_unit * | __look_for_unit (struct sound_unit *s, int unit) |
look | |
int | sound_insert_unit (struct sound_unit **list, struct file_operations *fops, const char *name, int type) |
Insert a unit. | |
void | sound_remove_unit (struct sound_unit **list, int unit) |
Remove a unit. | |
int | register_sound_dsp (struct file_operations *fops, int dev) |
Register a DSP Device. | |
int | register_sound_mixer (struct file_operations *fops, int dev) |
Register a Mixer Device. | |
int | register_sound_midi (struct file_operations *fops, int dev) |
Register a MIDI Device. | |
int | register_sound_special (struct file_operations *fops, int unit) |
Register a Special Sound Node. | |
int | register_sound_synth (struct file_operations *fops, int dev) |
Register a synth Device. | |
void | unregister_sound_dsp (int unit) |
Unregister a DSP Device. | |
void | unregister_sound_mixer (int unit) |
Unregister a Mixer Device. | |
void | unregister_sound_midi (int unit) |
Unregister a MIDI Device. | |
void | unregister_sound_special (int unit) |
Unregister a Special Node. | |
void | unregister_sound_synth (int unit) |
Unregister a synth Device. | |
file_operations * | soundcore_req_fops (int type, int num) |
Query for device operations structure. | |
void | soundcore_rel_fops (int type, int num) |
Release DSP/PCM device XXX nothing to do ? | |
Variables | |
sound_unit * | dsp = NULL *mixer = NULL |
internal lists of sound units | |
l4lock_t | sound_loader_lock = L4LOCK_UNLOCKED |
initilization lock |
Definition in file soundcore.c.
|
Low level list operator. Scan the ordered list, find a hole and join into it. Called with the lock asserted.
Definition at line 60 of file soundcore.c. References sound_unit::fops, sound_unit::next, sound_unit::num, and NUM_MAX. Referenced by sound_insert_unit(). |
|
Remove a node from the chain. Called with the lock asserted Definition at line 95 of file soundcore.c. References sound_unit::next, and vfree(). Referenced by sound_remove_unit(). |
|
Insert a unit. Allocate the controlling structure and add it to the sound driver list. Acquires locks as needed Definition at line 127 of file soundcore.c. References __sound_insert_unit(), sound_loader_lock, vfree(), and vmalloc(). Referenced by register_sound_dsp(), register_sound_midi(), and register_sound_mixer(). |
|
Remove a unit. Acquires locks as needed. The drivers MUST have completed the removal before their file operations become invalid. Definition at line 152 of file soundcore.c. References __look_for_unit(), __sound_remove_unit(), and sound_loader_lock. Referenced by unregister_sound_dsp(), unregister_sound_midi(), and unregister_sound_mixer(). |