--- ./drivers/char/drm/drmP.h.orig 2004-10-13 03:54:30.000000000 +0000 +++ ./drivers/char/drm/drmP.h 2004-10-15 12:45:48.000000000 +0000 @@ -927,6 +927,7 @@ /* Missing cmpxchg implementation for i386 kernel, copied from old drmP.h -KK Mar 2003 */ #if __i386__ +#if __missing_cmpxchg__ /* you'd think "#ifndef __cmpxchg" would work, but no */ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size) { @@ -957,6 +958,7 @@ #define cmpxchg(ptr,o,n) \ ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o), \ (unsigned long)(n),sizeof(*(ptr)))) +#endif /* undefined __cmpxchg */ #endif /* i386 */ #endif /* __KERNEL__ */