On Tue, 10 Apr 2007, Matthew Wilcox wrote: > On Tue, Apr 10, 2007 at 05:45:07PM -0400, Robert P. J. Day wrote: > > that works fine if you're defining a single spinlock, but what do you > > do in cases like this: > > > > arch/sparc/lib/atomic32.c: [0 ... (ATOMIC_HASH_SIZE-1)] = SPIN_LOCK_UNLOCKED > > > > that is, when you're assigning an array of them? you still need > > some kind of generic, unnamed spinlock in those circumstances, no? > > That's a special case for architecture-only code. It's not to be > used by drivers. be that as it may, it still means you need to take it into account whenever someone says they want to entirely remove the SPIN_LOCK_UNLOCKED macro from the source tree, as suggested in Documentation/spinlocks.txt. if you do that removal, you can always replace SPIN_LOCK_UNLOCKED with its current definition of __SPIN_LOCK_UNLOCKED(old_style_spin_init), or what have you. but you would obviously have to replace it with *something* that represents an unnamed spinlock if SPIN_LOCK_UNLOCKED goes away. rday p.s. just FYI: $ grep -r "\.\.\..*SPIN_LOCK_UNLOCKED" * arch/sparc/lib/atomic32.c: [0 ... (ATOMIC_HASH_SIZE-1)] = SPIN_LOCK_UNLOCKED arch/cris/arch-v32/kernel/smp.c:spinlock_t cris_atomic_locks[] = { [0 ... LOCK_COUNT - 1] = SPIN_LOCK_UNLOCKED}; arch/parisc/lib/bitops.c: [0 ... (ATOMIC_HASH_SIZE-1)] = __RAW_SPIN_LOCK_UNLOCKED arch/mips/kernel/gdb-stub.c: [0 ... NR_CPUS-1] = __RAW_SPIN_LOCK_UNLOCKED, arch/powerpc/platforms/iseries/htab.c: { [0 ... 63] = SPIN_LOCK_UNLOCKED}; so, as matthew says, it's clearly not for drivers. -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://fsdev.net/wiki/index.php?title=Main_Page ======================================================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ