#include <linux/kmod.h>
#include <linux/spinlock.h>
-#include <linux/mutex.h>
#include <asm/irq.h>
#undef PARPORT_PARANOID
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){}
if (list_empty(&portlist))
get_lowlevel_driver ();
- mutex_lock(®istration_lock);
+ down(®istration_lock);
list_for_each_entry(port, &portlist, list)
drv->attach(port);
list_add(&drv->list, &drivers);
- mutex_unlock(®istration_lock);
+ up(®istration_lock);
return 0;
}
{
struct parport *port;
- mutex_lock(®istration_lock);
+ down(®istration_lock);
list_del_init(&drv->list);
list_for_each_entry(port, &portlist, list)
drv->detach(port);
- mutex_unlock(®istration_lock);
+ up(®istration_lock);
}
static void free_port (struct parport *port)
#endif
parport_proc_register(port);
- mutex_lock(®istration_lock);
+ down(®istration_lock);
spin_lock_irq(&parportlist_lock);
list_add_tail(&port->list, &portlist);
for (i = 1; i < 3; i++) {
if (slave)
attach_driver_chain(slave);
}
- mutex_unlock(®istration_lock);
+ up(®istration_lock);
}
/**
{
int i;
- mutex_lock(®istration_lock);
+ down(®istration_lock);
/* Spread the word. */
detach_driver_chain (port);
}
spin_unlock(&parportlist_lock);
- mutex_unlock(®istration_lock);
+ up(®istration_lock);
parport_proc_unregister(port);