*/
-static CFS_DECLARE_RWSEM(cfs_symbol_lock);
+static DECLARE_RWSEM(cfs_symbol_lock);
CFS_LIST_HEAD(cfs_symbol_list);
int libcfs_is_mp_system = FALSE;
cfs_list_t *walker;
struct cfs_symbol *sym = NULL;
- cfs_down_read(&cfs_symbol_lock);
+ down_read(&cfs_symbol_lock);
cfs_list_for_each(walker, &cfs_symbol_list) {
sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
if (!strcmp(sym->name, name)) {
break;
}
}
- cfs_up_read(&cfs_symbol_lock);
+ up_read(&cfs_symbol_lock);
if (sym != NULL)
return sym->value;
cfs_list_t *walker;
struct cfs_symbol *sym = NULL;
- cfs_down_read(&cfs_symbol_lock);
+ down_read(&cfs_symbol_lock);
cfs_list_for_each(walker, &cfs_symbol_list) {
sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
if (!strcmp(sym->name, name)) {
break;
}
}
- cfs_up_read(&cfs_symbol_lock);
+ up_read(&cfs_symbol_lock);
LASSERT(sym != NULL);
}
new->ref = 0;
CFS_INIT_LIST_HEAD(&new->sym_list);
- cfs_down_write(&cfs_symbol_lock);
- cfs_list_for_each(walker, &cfs_symbol_list) {
- sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
- if (!strcmp(sym->name, name)) {
- cfs_up_write(&cfs_symbol_lock);
- cfs_free(new);
- return 0; // alreay registerred
- }
- }
- cfs_list_add_tail(&new->sym_list, &cfs_symbol_list);
- cfs_up_write(&cfs_symbol_lock);
+ down_write(&cfs_symbol_lock);
+ cfs_list_for_each(walker, &cfs_symbol_list) {
+ sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
+ if (!strcmp(sym->name, name)) {
+ up_write(&cfs_symbol_lock);
+ cfs_free(new);
+ return 0; /* alreay registerred */
+ }
+ }
+ cfs_list_add_tail(&new->sym_list, &cfs_symbol_list);
+ up_write(&cfs_symbol_lock);
return 0;
}
cfs_list_t *nxt;
struct cfs_symbol *sym = NULL;
- cfs_down_write(&cfs_symbol_lock);
+ down_write(&cfs_symbol_lock);
cfs_list_for_each_safe(walker, nxt, &cfs_symbol_list) {
sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
if (!strcmp(sym->name, name)) {
break;
}
}
- cfs_up_write(&cfs_symbol_lock);
+ up_write(&cfs_symbol_lock);
}
/*
cfs_list_t *walker;
struct cfs_symbol *sym = NULL;
- cfs_down_write(&cfs_symbol_lock);
- cfs_list_for_each(walker, &cfs_symbol_list) {
- sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
- LASSERT(sym->ref == 0);
- cfs_list_del (&sym->sym_list);
- cfs_free(sym);
- }
- cfs_up_write(&cfs_symbol_lock);
- return;
+ down_write(&cfs_symbol_lock);
+ cfs_list_for_each(walker, &cfs_symbol_list) {
+ sym = cfs_list_entry (walker, struct cfs_symbol, sym_list);
+ LASSERT(sym->ref == 0);
+ cfs_list_del (&sym->sym_list);
+ cfs_free(sym);
+ }
+ up_write(&cfs_symbol_lock);
+ return;
}
int
libcfs_arch_init(void)
{
- int rc;
+ int rc;
+ spinlock_t lock;
- cfs_spinlock_t lock;
- /* Workground to check the system is MP build or UP build */
- cfs_spin_lock_init(&lock);
- cfs_spin_lock(&lock);
- libcfs_is_mp_system = (int)lock.lock;
- /* MP build system: it's a real spin, for UP build system, it
- only raises the IRQL to DISPATCH_LEVEL */
- cfs_spin_unlock(&lock);
+ /* Workground to check the system is MP build or UP build */
+ spin_lock_init(&lock);
+ spin_lock(&lock);
+ libcfs_is_mp_system = (int)lock.lock;
+ /* MP build system: it's a real spin, for UP build system, it
+ * only raises the IRQL to DISPATCH_LEVEL */
+ spin_unlock(&lock);
/* initialize libc routines (confliction between libcnptr.lib
and kernel ntoskrnl.lib) */