Please explain this code.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I'm new to this group. We are trying to get a working kernel for Samsung S3C4510B processor. While looking though the code for ARM, we have some across the following header file include/asm-arm/proc-fns.h

/*
* Work out if we need multiple CPU support
*/
#undef MULTI_CPU
#undef CPU_NAME

/*
* CPU_NAME - the prefix for CPU related functions
*/

# ifdef CONFIG_CPU_ARM7TDMI
#  ifdef CPU_NAME
#   undef  MULTI_CPU
#   define MULTI_CPU
#  else
#   define CPU_NAME cpu_arm7tdmi
#  endif
# endif

In the beginning of the header file MULTI_CPU and CPU_NAME has been undefined. My question is if they have been undefined, what is the significance of the code #ifdef CPU_NAME? Also i would like to know the significance of __catify_fn.

/*
* Single CPU
*/
#ifdef __STDC__
#define __catify_fn(name,x)    name##x
#else
#define __catify_fn(name,x)    name/**/x
#endif
#define __cpu_fn(name,x)    __catify_fn(name,x)

/*
* If we are supporting multiple CPUs, then we must use a table of
* function pointers for this lot.  Otherwise, we can optimise the
* table away.
*/
#define cpu_proc_init            __cpu_fn(CPU_NAME,_proc_init)

Thanks for all your support.

Thanks
Surej

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux