Hi John, On Wed, Oct 22, 2014 at 09:11:39AM +0200, John Crispin wrote: > On 22/10/2014 08:54, Eunbong Song wrote: > >>> +void arch_trigger_all_cpu_backtrace(bool); +#define > >>> arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace > > > >> What is the purpose of this define ? is this maybe a leftover from > >> some regex/cleanups ? > > > > Hi John. > > Actually, I just follow the same function of sparc architecture. > > You can find this in arch/sparc/include/asm/irq_64.h as below > > > > void arch_trigger_all_cpu_backtrace(bool); > > #define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace > > > > I guess this is used for conditional compile. > > See below. > > include/linux/nmi.h > > #ifdef arch_trigger_all_cpu_backtrace > > static inline bool trigger_all_cpu_backtrace(void) > > { > > arch_trigger_all_cpu_backtrace(true); > > > > return true; > > } > > static inline bool trigger_allbutself_cpu_backtrace(void) > > { > > arch_trigger_all_cpu_backtrace(false); > > return true; > > } > > #else > > static inline bool trigger_all_cpu_backtrace(void) > > { > > return false; > > } > > static inline bool trigger_allbutself_cpu_backtrace(void) > > { > > return false; > > } > > #endif > > > > Thanks. > >> John > > > > i don't see how this is required for conditional compiles. the code > define a->a which is bogus i think. It's a pretty common pattern in the asm headers, in order to allow generic code to use the preprocessor to see whether it was defined or not. Cheers James