when examining the remaining traces of the deprecated SPIN_LOCK_UNLOCKED macro in structures, i'm used to seeing the common replacement of: struct vt_spawn_console vt_spawn_con = { .lock = __SPIN_LOCK_UNLOCKED(vt_spawn_con.lock), .pid = NULL, .sig = 0, }; you know -- the newer form of the __SPIN_LOCK_UNLOCKED macro, which takes the name of the lock for debugging purposes. but i'm a bit confused by this from drivers/char/random.c: static struct entropy_store input_pool = { .poolinfo = &poolinfo_table[0], .name = "input", .limit = 1, .lock = __SPIN_LOCK_UNLOCKED(&input_pool.lock), .pool = input_pool_data }; static struct entropy_store blocking_pool = { .poolinfo = &poolinfo_table[1], .name = "blocking", .limit = 1, .pull = &input_pool, .lock = __SPIN_LOCK_UNLOCKED(&blocking_pool.lock), .pool = blocking_pool_data }; um ... what's with the "&" as a prefix on the lock name? should that be there? it's not like you're supposed to be taking the address of anything, is it? i'm confused. rday -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry: Have classroom, will lecture. http://crashcourse.ca Waterloo, Ontario, CANADA ======================================================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ