From: Martin Schwidefsky s390 core changes: - Fix _raw_spin_trylock for 64 bit. - Add clarification to s390 debug debug documentation. --- 25-akpm/Documentation/s390/s390dbf.txt | 6 +++--- 25-akpm/include/asm-s390/spinlock.h | 10 ++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff -puN Documentation/s390/s390dbf.txt~s390-1-12-core-s390 Documentation/s390/s390dbf.txt --- 25/Documentation/s390/s390dbf.txt~s390-1-12-core-s390 2004-04-08 13:54:57.330430008 -0700 +++ 25-akpm/Documentation/s390/s390dbf.txt 2004-04-08 13:54:57.335429248 -0700 @@ -66,9 +66,9 @@ a view can be inspected simply by readin All debug logs have an an actual debug level (range from 0 to 6). The default level is 3. Event and Exception functions have a 'level' parameter. Only debug entries with a level that is lower or equal -than the actual level are written to the log. This means that high -priority log entries should have a low level value whereas low priority -entries should have a high one. +than the actual level are written to the log. This means, when +writing events, high priority log entries should have a low level +value whereas low priority entries should have a high one. The actual debug level can be changed with the help of the proc-filesystem through writing a number string "x" to the 'level' proc file which is provided for every debug log. Debugging can be switched off completely diff -puN include/asm-s390/spinlock.h~s390-1-12-core-s390 include/asm-s390/spinlock.h --- 25/include/asm-s390/spinlock.h~s390-1-12-core-s390 2004-04-08 13:54:57.332429704 -0700 +++ 25-akpm/include/asm-s390/spinlock.h 2004-04-08 13:54:57.336429096 -0700 @@ -70,11 +70,9 @@ extern inline void _raw_spin_lock(spinlo extern inline int _raw_spin_trylock(spinlock_t *lp) { -#ifndef __s390x__ - unsigned long result, reg; -#else /* __s390x__ */ - unsigned int result, reg; -#endif /* __s390x__ */ + unsigned long reg; + unsigned int result; + __asm__ __volatile(" basr %1,0\n" "0: cs %0,%1,0(%3)" : "=d" (result), "=&d" (reg), "=m" (lp->lock) @@ -226,7 +224,7 @@ extern inline int _raw_write_trylock(rwl "0: csg %0,%1,0(%3)\n" #endif /* __s390x__ */ : "=d" (result), "=&d" (reg), "=m" (rw->lock) - : "a" (&rw->lock), "m" (rw->lock), "0" (0) + : "a" (&rw->lock), "m" (rw->lock), "0" (0UL) : "cc", "memory" ); return result == 0; } _