]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
ALSA: seq: Drop snd_seq_autoload_lock() and _unlock()
authorTakashi Iwai <tiwai@suse.de>
Thu, 12 Feb 2015 13:20:24 +0000 (14:20 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 12 Feb 2015 13:42:31 +0000 (14:42 +0100)
The autoload lock became already superfluous due to the recent rework
of autoload code.  Let's drop them now.  This allows us to simplify a
few codes nicely.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/seq_kernel.h
sound/core/seq/oss/seq_oss.c
sound/core/seq/seq_device.c
sound/core/seq/seq_dummy.c
sound/core/seq/seq_midi.c

index 18a2ac58b88f996d5668fef268f3f9c73256d1ce..feb58d45556064881bcddd8a1b403da13c6af358 100644 (file)
@@ -99,13 +99,9 @@ int snd_seq_event_port_attach(int client, struct snd_seq_port_callback *pcbp,
 int snd_seq_event_port_detach(int client, int port);
 
 #ifdef CONFIG_MODULES
-void snd_seq_autoload_lock(void);
-void snd_seq_autoload_unlock(void);
 void snd_seq_autoload_init(void);
-#define snd_seq_autoload_exit()        snd_seq_autoload_lock()
+void snd_seq_autoload_exit(void);
 #else
-#define snd_seq_autoload_lock()
-#define snd_seq_autoload_unlock()
 #define snd_seq_autoload_init()
 #define snd_seq_autoload_exit()
 #endif
index ae1814aa767e9eca2d7b8ceac1e6a3b6745b8233..72873a46afeb391f51a27da171c853d131e395f7 100644 (file)
@@ -79,7 +79,6 @@ static int __init alsa_seq_oss_init(void)
 {
        int rc;
 
-       snd_seq_autoload_lock();
        if ((rc = register_device()) < 0)
                goto error;
        if ((rc = register_proc()) < 0) {
@@ -104,7 +103,6 @@ static int __init alsa_seq_oss_init(void)
        snd_seq_oss_synth_init();
 
  error:
-       snd_seq_autoload_unlock();
        return rc;
 }
 
index 48b20f009598ac82861b9ea8829046a3b6de0d0e..355b34269bd19ff7ef4d42b7b506256e2ca8ea38 100644 (file)
@@ -98,19 +98,8 @@ static void snd_seq_device_info(struct snd_info_entry *entry,
  */
 
 #ifdef CONFIG_MODULES
-/* avoid auto-loading during module_init() */
+/* flag to block auto-loading */
 static atomic_t snd_seq_in_init = ATOMIC_INIT(1); /* blocked as default */
-void snd_seq_autoload_lock(void)
-{
-       atomic_inc(&snd_seq_in_init);
-}
-EXPORT_SYMBOL(snd_seq_autoload_lock);
-
-void snd_seq_autoload_unlock(void)
-{
-       atomic_dec(&snd_seq_in_init);
-}
-EXPORT_SYMBOL(snd_seq_autoload_unlock);
 
 static int request_seq_drv(struct device *dev, void *data)
 {
@@ -147,6 +136,12 @@ void snd_seq_autoload_init(void)
 }
 EXPORT_SYMBOL(snd_seq_autoload_init);
 
+void snd_seq_autoload_exit(void)
+{
+       atomic_inc(&snd_seq_in_init);
+}
+EXPORT_SYMBOL(snd_seq_autoload_exit);
+
 void snd_seq_device_load_drivers(void)
 {
        queue_autoload_drivers();
index 5d905d90d504c0d588b62bb856e7314e23488ec0..d3a2ec4f0561e736bf9718c32393be44575bfa49 100644 (file)
@@ -214,11 +214,7 @@ delete_client(void)
 
 static int __init alsa_seq_dummy_init(void)
 {
-       int err;
-       snd_seq_autoload_lock();
-       err = register_client();
-       snd_seq_autoload_unlock();
-       return err;
+       return register_client();
 }
 
 static void __exit alsa_seq_dummy_exit(void)
index 79c73119cedc5ce51a61c9c549458b86323fbcaf..5dd0ee2583592e156f5822c2aa56e83c4c41c97d 100644 (file)
@@ -469,20 +469,4 @@ static struct snd_seq_driver seq_midisynth_driver = {
        .argsize = 0,
 };
 
-static int __init alsa_seq_midi_init(void)
-{
-       int err;
-
-       snd_seq_autoload_lock();
-       err = snd_seq_driver_register(&seq_midisynth_driver);
-       snd_seq_autoload_unlock();
-       return err;
-}
-
-static void __exit alsa_seq_midi_exit(void)
-{
-       snd_seq_driver_unregister(&seq_midisynth_driver);
-}
-
-module_init(alsa_seq_midi_init)
-module_exit(alsa_seq_midi_exit)
+module_snd_seq_driver(seq_midisynth_driver);