linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / parport / share.c
index bbbfd79..ea62bed 100644 (file)
@@ -32,7 +32,6 @@
 #include <linux/kmod.h>
 
 #include <linux/spinlock.h>
-#include <linux/mutex.h>
 #include <asm/irq.h>
 
 #undef PARPORT_PARANOID
@@ -51,7 +50,7 @@ static DEFINE_SPINLOCK(full_list_lock);
 
 static LIST_HEAD(drivers);
 
-static DEFINE_MUTEX(registration_lock);
+static DECLARE_MUTEX(registration_lock);
 
 /* What you can do to a port that's gone away.. */
 static void dead_write_lines (struct parport *p, unsigned char b){}
@@ -159,11 +158,11 @@ int parport_register_driver (struct parport_driver *drv)
        if (list_empty(&portlist))
                get_lowlevel_driver ();
 
-       mutex_lock(&registration_lock);
+       down(&registration_lock);
        list_for_each_entry(port, &portlist, list)
                drv->attach(port);
        list_add(&drv->list, &drivers);
-       mutex_unlock(&registration_lock);
+       up(&registration_lock);
 
        return 0;
 }
@@ -189,11 +188,11 @@ void parport_unregister_driver (struct parport_driver *drv)
 {
        struct parport *port;
 
-       mutex_lock(&registration_lock);
+       down(&registration_lock);
        list_del_init(&drv->list);
        list_for_each_entry(port, &portlist, list)
                drv->detach(port);
-       mutex_unlock(&registration_lock);
+       up(&registration_lock);
 }
 
 static void free_port (struct parport *port)
@@ -367,7 +366,7 @@ void parport_announce_port (struct parport *port)
 #endif
 
        parport_proc_register(port);
-       mutex_lock(&registration_lock);
+       down(&registration_lock);
        spin_lock_irq(&parportlist_lock);
        list_add_tail(&port->list, &portlist);
        for (i = 1; i < 3; i++) {
@@ -384,7 +383,7 @@ void parport_announce_port (struct parport *port)
                if (slave)
                        attach_driver_chain(slave);
        }
-       mutex_unlock(&registration_lock);
+       up(&registration_lock);
 }
 
 /**
@@ -410,7 +409,7 @@ void parport_remove_port(struct parport *port)
 {
        int i;
 
-       mutex_lock(&registration_lock);
+       down(&registration_lock);
 
        /* Spread the word. */
        detach_driver_chain (port);
@@ -437,7 +436,7 @@ void parport_remove_port(struct parport *port)
        }
        spin_unlock(&parportlist_lock);
 
-       mutex_unlock(&registration_lock);
+       up(&registration_lock);
 
        parport_proc_unregister(port);