#include <linux/vmalloc.h>
#include <linux/genhd.h>
#include <linux/bitops.h>
-#include <linux/mutex.h>
+#include <asm/semaphore.h>
struct unique_numspace {
struct semaphore mutex;
};
-static DEFINE_MUTEX(numspace_mutex);
+static DECLARE_MUTEX(numspace_mutex);
static int expand_numspace(struct unique_numspace *s)
{
{
int rval = 0;
- mutex_lock(&numspace_mutex);
+ down(&numspace_mutex);
if (s->num_free < 1)
rval = expand_numspace(s);
if (!rval) {
--s->num_free;
__set_bit(rval, s->bits);
}
- mutex_unlock(&numspace_mutex);
+ up(&numspace_mutex);
return rval;
}
int old_val;
if (number >= 0) {
- mutex_lock(&numspace_mutex);
+ down(&numspace_mutex);
old_val = __test_and_clear_bit(number, s->bits);
if (old_val)
++s->num_free;
- mutex_unlock(&numspace_mutex);
+ up(&numspace_mutex);
}
}