Hi Brajeswar, Thank you for the patch! Yet something to improve: [auto build test ERROR on sof-driver-fuweitax/master] [also build test ERROR on v4.19 next-20181102] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Brajeswar-Ghosh/include-asm-cmpxchg-h-Remove-duplicate-header/20181103-072531 base: https://github.com/fuweitax/linux master config: alpha-allyesconfig (attached as .config) compiler: alpha-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=alpha All errors (new ones prefixed by >>): In file included from arch/alpha/include/asm/atomic.h:7:0, from include/linux/atomic.h:5, from include/linux/rcupdate.h:38, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/alpha/kernel/asm-offsets.c:10: include/linux/atomic.h: In function 'atomic_inc_not_zero_hint': arch/alpha/include/asm/cmpxchg.h:61:31: error: implicit declaration of function '__cmpxchg'; did you mean 'cmpxchg'? [-Werror=implicit-function-declaration] __ret = (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ arch/alpha/include/asm/atomic.h:205:38: note: in expansion of macro 'cmpxchg' #define atomic_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), old, new)) ^~~~~~~ include/linux/atomic.h:596:9: note: in expansion of macro 'atomic_cmpxchg' val = atomic_cmpxchg(v, c, c + 1); ^~~~~~~~~~~~~~ In file included from arch/alpha/include/asm/atomic.h:7:0, from include/linux/atomic.h:5, from include/linux/rcupdate.h:38, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from arch/alpha/kernel/asm-offsets.c:10: include/linux/debug_locks.h: In function '__debug_locks_off': >> arch/alpha/include/asm/cmpxchg.h:50:3: error: implicit declaration of function '__xchg'; did you mean 'xchg'? [-Werror=implicit-function-declaration] __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr))); \ ^ include/linux/debug_locks.h:17:9: note: in expansion of macro 'xchg' return xchg(&debug_locks, 0); ^~~~ include/linux/llist.h: In function 'llist_del_all': arch/alpha/include/asm/cmpxchg.h:49:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] __ret = (__typeof__(*(ptr))) \ ^ include/linux/llist.h:234:9: note: in expansion of macro 'xchg' return xchg(&head->first, NULL); ^~~~ cc1: some warnings being treated as errors make[2]: *** [arch/alpha/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 vim +50 arch/alpha/include/asm/cmpxchg.h 5ba840f9 Paul Gortmaker 2012-04-02 39 fbfcd019 Andrea Parri 2018-02-27 40 /* fbfcd019 Andrea Parri 2018-02-27 41 * The leading and the trailing memory barriers guarantee that these fbfcd019 Andrea Parri 2018-02-27 42 * operations are fully ordered. fbfcd019 Andrea Parri 2018-02-27 43 */ 5ba840f9 Paul Gortmaker 2012-04-02 44 #define xchg(ptr, x) \ 5ba840f9 Paul Gortmaker 2012-04-02 45 ({ \ fbfcd019 Andrea Parri 2018-02-27 46 __typeof__(*(ptr)) __ret; \ 5ba840f9 Paul Gortmaker 2012-04-02 47 __typeof__(*(ptr)) _x_ = (x); \ fbfcd019 Andrea Parri 2018-02-27 48 smp_mb(); \ fbfcd019 Andrea Parri 2018-02-27 49 __ret = (__typeof__(*(ptr))) \ fbfcd019 Andrea Parri 2018-02-27 @50 __xchg((ptr), (unsigned long)_x_, sizeof(*(ptr))); \ fbfcd019 Andrea Parri 2018-02-27 51 smp_mb(); \ fbfcd019 Andrea Parri 2018-02-27 52 __ret; \ 5ba840f9 Paul Gortmaker 2012-04-02 53 }) 5ba840f9 Paul Gortmaker 2012-04-02 54 :::::: The code at line 50 was first introduced by commit :::::: fbfcd0199170984bd3c2812e49ed0fe7b226959a locking/xchg/alpha: Remove superfluous memory barriers from the _local() variants :::::: TO: Andrea Parri :::::: CC: Ingo Molnar --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation