static int __init alsa_seq_init(void) { int err; err = client_init_data(); if (err < 0) goto error; /* register sequencer device */ err = snd_sequencer_device_init(); if (err < 0) goto error; /* register proc interface */ err = snd_seq_info_init(); if (err < 0) goto error_device; /* register our internal client */ err = snd_seq_system_client_init(); if (err < 0) goto error_info; snd_seq_autoload_init(); return 0; error_info: snd_seq_info_done(); error_device: snd_sequencer_device_done(); error: return err; }
static void __exit alsa_seq_exit(void) { /* unregister our internal client */ snd_seq_system_client_done(); /* unregister proc interface */ snd_seq_info_done(); /* delete timing queues */ snd_seq_queues_delete(); /* unregister sequencer device */ snd_sequencer_device_done(); snd_seq_autoload_exit(); }
static void __exit alsa_seq_exit(void) { /* */ snd_seq_system_client_done(); /* */ snd_seq_info_done(); /* */ snd_seq_queues_delete(); /* */ snd_sequencer_device_done(); /* */ snd_sequencer_memory_done(); }