#include <linux/device.h>
#include <linux/init.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/info.h>
#include <sound/seq_device.h>
#include <sound/seq_kernel.h>
#include <sound/initval.h>
#include <linux/kmod.h>
#include <linux/slab.h>
#include <linux/mutex.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static int snd_seq_bus_match(struct device *dev, const struct device_driver *drv)
{ … }
static const struct bus_type snd_seq_bus_type = …;
#ifdef CONFIG_SND_PROC_FS
static struct snd_info_entry *info_entry;
static int print_dev_info(struct device *dev, void *data)
{ … }
static void snd_seq_device_info(struct snd_info_entry *entry,
struct snd_info_buffer *buffer)
{ … }
#endif
#ifdef CONFIG_MODULES
static atomic_t snd_seq_in_init = …;
static int request_seq_drv(struct device *dev, void *data)
{ … }
static void autoload_drivers(struct work_struct *work)
{ … }
static DECLARE_WORK(autoload_work, autoload_drivers);
static void queue_autoload_drivers(void)
{ … }
void snd_seq_autoload_init(void)
{ … }
EXPORT_SYMBOL(…);
void snd_seq_autoload_exit(void)
{ … }
EXPORT_SYMBOL(…);
void snd_seq_device_load_drivers(void)
{ … }
EXPORT_SYMBOL(…);
static inline void cancel_autoload_drivers(void)
{ … }
#else
static inline void queue_autoload_drivers(void)
{
}
static inline void cancel_autoload_drivers(void)
{
}
#endif
static int snd_seq_device_dev_free(struct snd_device *device)
{ … }
static int snd_seq_device_dev_register(struct snd_device *device)
{ … }
static int snd_seq_device_dev_disconnect(struct snd_device *device)
{ … }
static void snd_seq_dev_release(struct device *dev)
{ … }
int snd_seq_device_new(struct snd_card *card, int device, const char *id,
int argsize, struct snd_seq_device **result)
{ … }
EXPORT_SYMBOL(…);
int __snd_seq_driver_register(struct snd_seq_driver *drv, struct module *mod)
{ … }
EXPORT_SYMBOL_GPL(…);
void snd_seq_driver_unregister(struct snd_seq_driver *drv)
{ … }
EXPORT_SYMBOL_GPL(…);
static int __init seq_dev_proc_init(void)
{ … }
static int __init alsa_seq_device_init(void)
{ … }
static void __exit alsa_seq_device_exit(void)
{ … }
subsys_initcall(…) …
module_exit(…)