Hi Masahiro, On 3 December 2014 at 01:36, Masahiro Yamada <yamad...@jp.panasonic.com> wrote: > Commit 65dd74a674d6 (x86: ivybridge: Implement SDRAM init) introduced > x86-specific asmlinkage into arch/x86/include/asm/config.h. > > Commit ed0a2fbf14f7 (x86: Add a definition of asmlinkage) added the > same macro define again, this time, into include/common.h. > (Please do not add arch-specific stuff to include/common.h any more; > it is already too cluttered.) > > The generic asmlinkage is defined in <linux/linkage.h>. If you want > to override it with an arch-specific one, the best way is to add it > to <asm/linkage.h> like Linux Kernel. > > Signed-off-by: Masahiro Yamada <yamad...@jp.panasonic.com> > Cc: Simon Glass <s...@chromium.org> > --- > > arch/x86/include/asm/arch-ivybridge/pei_data.h | 2 ++ > arch/x86/include/asm/config.h | 1 - > arch/x86/include/asm/linkage.h | 6 ++++++ > arch/x86/lib/bios.c | 1 + > arch/x86/lib/bios.h | 2 ++ > include/common.h | 3 --- > include/linux/linkage.h | 2 ++ > 7 files changed, 13 insertions(+), 4 deletions(-) > create mode 100644 arch/x86/include/asm/linkage.h > > diff --git a/arch/x86/include/asm/arch-ivybridge/pei_data.h > b/arch/x86/include/asm/arch-ivybridge/pei_data.h > index 5026c8b..9453336 100644 > --- a/arch/x86/include/asm/arch-ivybridge/pei_data.h > +++ b/arch/x86/include/asm/arch-ivybridge/pei_data.h > @@ -7,6 +7,8 @@ > #ifndef ASM_ARCH_PEI_DATA_H > #define ASM_ARCH_PEI_DATA_H > > +#include <linux/linkage.h> > + > struct pch_usb3_controller_settings { > /* 0: Disable, 1: Enable, 2: Auto, 3: Smart Auto */ > uint16_t mode; > diff --git a/arch/x86/include/asm/config.h b/arch/x86/include/asm/config.h > index c97d988..ff15828 100644 > --- a/arch/x86/include/asm/config.h > +++ b/arch/x86/include/asm/config.h > @@ -10,6 +10,5 @@ > #define CONFIG_SYS_GENERIC_BOARD > #define CONFIG_LMB > #define CONFIG_SYS_BOOT_RAMDISK_HIGH > -#define asmlinkage __attribute__((regparm(0))) > > #endif > diff --git a/arch/x86/include/asm/linkage.h b/arch/x86/include/asm/linkage.h > new file mode 100644 > index 0000000..bdca72e > --- /dev/null > +++ b/arch/x86/include/asm/linkage.h > @@ -0,0 +1,6 @@ > +#ifndef _ASM_X86_LINKAGE_H > +#define _ASM_X86_LINKAGE_H > + > +#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
Why CPP_ASMLINKAGE here? > + > +#endif /* _ASM_X86_LINKAGE_H */ > diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c > index 298fca6..d1f8933 100644 > --- a/arch/x86/lib/bios.c > +++ b/arch/x86/lib/bios.c > @@ -9,6 +9,7 @@ > #include <common.h> > #include <bios_emul.h> > #include <vbe.h> > +#include <linux/linkage.h> > #include <asm/cache.h> > #include <asm/processor.h> > #include <asm/i8259.h> > diff --git a/arch/x86/lib/bios.h b/arch/x86/lib/bios.h > index 8491b4a..668f4b5 100644 > --- a/arch/x86/lib/bios.h > +++ b/arch/x86/lib/bios.h > @@ -10,6 +10,8 @@ > #ifndef _X86_LIB_BIOS_H > #define _X86_LIB_BIOS_H > > +#include <linux/linkage.h> > + > #define REALMODE_BASE 0x600 > > #ifdef __ASSEMBLY__ > diff --git a/include/common.h b/include/common.h > index 94c354b..f1ab2cf 100644 > --- a/include/common.h > +++ b/include/common.h > @@ -73,9 +73,6 @@ typedef volatile unsigned char vu_char; > #ifdef CONFIG_ARM > #define asmlinkage /* nothing */ > #endif > -#ifdef CONFIG_X86 > -#define asmlinkage __attribute__((regparm(0))) > -#endif > #ifdef CONFIG_BLACKFIN > #include <asm/blackfin.h> > #endif > diff --git a/include/linux/linkage.h b/include/linux/linkage.h > index 7435fcd..5797498 100644 > --- a/include/linux/linkage.h > +++ b/include/linux/linkage.h > @@ -17,7 +17,9 @@ > #define CPP_ASMLINKAGE > #endif > > +#ifndef asmlinkage > #define asmlinkage CPP_ASMLINKAGE > +#endif > > #define SYMBOL_NAME_STR(X) #X > #define SYMBOL_NAME(X) X > -- > 1.9.1 > Tested on chromebook_link: Tested-by: Simon Glass <s...@chromium.org> With the above question answered, I'd like to apply this as it is a clean-up. Is it OK to so this independently of the ARM patch? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot