Wednesday, August 30, 2006

gcc macro resend

Very good reference:

http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/Macros.html#Macros


#define __IRQ_SYSTMR(_X) IRQ_TMR ## _X
#define _IRQ_SYSTMR(_X) __IRQ_SYSTMR(_X)
#define IRQ_SYSTMR _IRQ_SYSTMR(CONFIG_IPIPE_SYS_TIMER)

#ifdef CONFIG_BF533
#define __IRQ_PRIOTMR(_X) CONFIG_TIMER ## _X
#else
#define __IRQ_PRIOTMR(_X) CONFIG_IRQ_TMR ## _X
#==endif

#define _IRQ_PRIOTMR(_X) __IRQ_PRIOTMR(_X)
#define IRQ_PRIOTMR _IRQ_PRIOTMR(CONFIG_IPIPE_SYS_TIMER)

#define _TIMER_CONFIG(_XX) *pTIMER ## _XX ## _CONFIG
#define _TIMER_PERIOD(_XX) *pTIMER ## _XX ## _PERIOD
#define _TIMER_WIDTH(_XX) *pTIMER ## _XX ## _WIDTH
#define _TIMER_COUNTER(_XX) *pTIMER ## _XX ## _COUNTER
#define GP_TIMER_CONFIG(_XX) _TIMER_CONFIG(_XX)
#define GP_TIMER_PERIOD(_XX) _TIMER_PERIOD(_XX)
#define GP_TIMER_WIDTH(_XX) _TIMER_WIDTH(_XX)
#define GP_TIMER_COUNTER(_XX) _TIMER_COUNTER(_XX)

Blog Archive