From: Greg Kroah-Hartman Date: Thu, 26 Apr 2012 17:38:54 +0000 (-0700) Subject: Add armadillo800eva patches to the build X-Git-Tag: v3.0.38-ltsi~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=21706592e1a0f8287092cbe9d4af2473529a8f8e;p=platform%2Fkernel%2Flinux-stable.git Add armadillo800eva patches to the build Signed-off-by: Greg Kroah-Hartman --- diff --git a/patches.armadillo800eva/0001-module.h-split-out-the-EXPORT_SYMBOL-into-export.h.patch b/patches.armadillo800eva/0001-module.h-split-out-the-EXPORT_SYMBOL-into-export.h.patch new file mode 100644 index 000000000000..eae58477b86e --- /dev/null +++ b/patches.armadillo800eva/0001-module.h-split-out-the-EXPORT_SYMBOL-into-export.h.patch @@ -0,0 +1,247 @@ +From b85971d89c5269f427fe46aa9336f2f18cf82b8e Mon Sep 17 00:00:00 2001 +From: Paul Gortmaker +Date: Mon, 23 May 2011 14:11:39 -0400 +Subject: module.h: split out the EXPORT_SYMBOL into export.h + +A lot of files pull in module.h when all they are really +looking for is the basic EXPORT_SYMBOL functionality. The +recent data from Ingo[1] shows that this is one of several +instances that has a significant impact on compile times, +and it should be targeted for factoring out (as done here). + +Note that several commonly used header files in include/* +directly include themselves (some 34 of them!) +The most commonly used ones of these will have to be made +independent of module.h before the full benefit of this change +can be realized. + +We also transition THIS_MODULE from module.h to export.h, +since there are lots of files with subsystem structs that +in turn will have a struct module *owner and only be doing: + + .owner = THIS_MODULE; + +and absolutely nothing else modular. So, we also want to have +the THIS_MODULE definition present in the lightweight header. + +[1] https://lkml.org/lkml/2011/5/23/76 + +Signed-off-by: Paul Gortmaker +(cherry picked from commit f50169324df4ad942e544386d136216c8617636a) + +Signed-off-by: Simon Horman +--- + include/linux/export.h | 89 ++++++++++++++++++++++++++++++++++++++++++++++++ + include/linux/module.h | 68 +----------------------------------- + 2 files changed, 90 insertions(+), 67 deletions(-) + create mode 100644 include/linux/export.h + +diff --git a/include/linux/export.h b/include/linux/export.h +new file mode 100644 +index 0000000..696c0f4 +--- /dev/null ++++ b/include/linux/export.h +@@ -0,0 +1,89 @@ ++#ifndef _LINUX_EXPORT_H ++#define _LINUX_EXPORT_H ++/* ++ * Export symbols from the kernel to modules. Forked from module.h ++ * to reduce the amount of pointless cruft we feed to gcc when only ++ * exporting a simple symbol or two. ++ * ++ * If you feel the need to add #include to this file ++ * then you are doing something wrong and should go away silently. ++ */ ++ ++/* Some toolchains use a `_' prefix for all user symbols. */ ++#ifdef CONFIG_SYMBOL_PREFIX ++#define MODULE_SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX ++#else ++#define MODULE_SYMBOL_PREFIX "" ++#endif ++ ++struct kernel_symbol ++{ ++ unsigned long value; ++ const char *name; ++}; ++ ++#ifdef MODULE ++extern struct module __this_module; ++#define THIS_MODULE (&__this_module) ++#else ++#define THIS_MODULE ((struct module *)0) ++#endif ++ ++#ifdef CONFIG_MODULES ++ ++#ifndef __GENKSYMS__ ++#ifdef CONFIG_MODVERSIONS ++/* Mark the CRC weak since genksyms apparently decides not to ++ * generate a checksums for some symbols */ ++#define __CRC_SYMBOL(sym, sec) \ ++ extern void *__crc_##sym __attribute__((weak)); \ ++ static const unsigned long __kcrctab_##sym \ ++ __used \ ++ __attribute__((section("___kcrctab" sec "+" #sym), unused)) \ ++ = (unsigned long) &__crc_##sym; ++#else ++#define __CRC_SYMBOL(sym, sec) ++#endif ++ ++/* For every exported symbol, place a struct in the __ksymtab section */ ++#define __EXPORT_SYMBOL(sym, sec) \ ++ extern typeof(sym) sym; \ ++ __CRC_SYMBOL(sym, sec) \ ++ static const char __kstrtab_##sym[] \ ++ __attribute__((section("__ksymtab_strings"), aligned(1))) \ ++ = MODULE_SYMBOL_PREFIX #sym; \ ++ static const struct kernel_symbol __ksymtab_##sym \ ++ __used \ ++ __attribute__((section("___ksymtab" sec "+" #sym), unused)) \ ++ = { (unsigned long)&sym, __kstrtab_##sym } ++ ++#define EXPORT_SYMBOL(sym) \ ++ __EXPORT_SYMBOL(sym, "") ++ ++#define EXPORT_SYMBOL_GPL(sym) \ ++ __EXPORT_SYMBOL(sym, "_gpl") ++ ++#define EXPORT_SYMBOL_GPL_FUTURE(sym) \ ++ __EXPORT_SYMBOL(sym, "_gpl_future") ++ ++#ifdef CONFIG_UNUSED_SYMBOLS ++#define EXPORT_UNUSED_SYMBOL(sym) __EXPORT_SYMBOL(sym, "_unused") ++#define EXPORT_UNUSED_SYMBOL_GPL(sym) __EXPORT_SYMBOL(sym, "_unused_gpl") ++#else ++#define EXPORT_UNUSED_SYMBOL(sym) ++#define EXPORT_UNUSED_SYMBOL_GPL(sym) ++#endif ++ ++#endif /* __GENKSYMS__ */ ++ ++#else /* !CONFIG_MODULES... */ ++ ++#define EXPORT_SYMBOL(sym) ++#define EXPORT_SYMBOL_GPL(sym) ++#define EXPORT_SYMBOL_GPL_FUTURE(sym) ++#define EXPORT_UNUSED_SYMBOL(sym) ++#define EXPORT_UNUSED_SYMBOL_GPL(sym) ++ ++#endif /* CONFIG_MODULES */ ++ ++#endif /* _LINUX_EXPORT_H */ +diff --git a/include/linux/module.h b/include/linux/module.h +index d9ca2d5..e91cc65 100644 +--- a/include/linux/module.h ++++ b/include/linux/module.h +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -25,21 +26,8 @@ + /* Not Yet Implemented */ + #define MODULE_SUPPORTED_DEVICE(name) + +-/* Some toolchains use a `_' prefix for all user symbols. */ +-#ifdef CONFIG_SYMBOL_PREFIX +-#define MODULE_SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX +-#else +-#define MODULE_SYMBOL_PREFIX "" +-#endif +- + #define MODULE_NAME_LEN MAX_PARAM_PREFIX_LEN + +-struct kernel_symbol +-{ +- unsigned long value; +- const char *name; +-}; +- + struct modversion_info + { + unsigned long crc; +@@ -96,11 +84,8 @@ void trim_init_extable(struct module *m); + extern const struct gtype##_id __mod_##gtype##_table \ + __attribute__ ((unused, alias(__stringify(name)))) + +-extern struct module __this_module; +-#define THIS_MODULE (&__this_module) + #else /* !MODULE */ + #define MODULE_GENERIC_TABLE(gtype,name) +-#define THIS_MODULE ((struct module *)0) + #endif + + /* Generic info of form tag = "info" */ +@@ -216,52 +201,6 @@ struct module_use { + struct module *source, *target; + }; + +-#ifndef __GENKSYMS__ +-#ifdef CONFIG_MODVERSIONS +-/* Mark the CRC weak since genksyms apparently decides not to +- * generate a checksums for some symbols */ +-#define __CRC_SYMBOL(sym, sec) \ +- extern void *__crc_##sym __attribute__((weak)); \ +- static const unsigned long __kcrctab_##sym \ +- __used \ +- __attribute__((section("___kcrctab" sec "+" #sym), unused)) \ +- = (unsigned long) &__crc_##sym; +-#else +-#define __CRC_SYMBOL(sym, sec) +-#endif +- +-/* For every exported symbol, place a struct in the __ksymtab section */ +-#define __EXPORT_SYMBOL(sym, sec) \ +- extern typeof(sym) sym; \ +- __CRC_SYMBOL(sym, sec) \ +- static const char __kstrtab_##sym[] \ +- __attribute__((section("__ksymtab_strings"), aligned(1))) \ +- = MODULE_SYMBOL_PREFIX #sym; \ +- static const struct kernel_symbol __ksymtab_##sym \ +- __used \ +- __attribute__((section("___ksymtab" sec "+" #sym), unused)) \ +- = { (unsigned long)&sym, __kstrtab_##sym } +- +-#define EXPORT_SYMBOL(sym) \ +- __EXPORT_SYMBOL(sym, "") +- +-#define EXPORT_SYMBOL_GPL(sym) \ +- __EXPORT_SYMBOL(sym, "_gpl") +- +-#define EXPORT_SYMBOL_GPL_FUTURE(sym) \ +- __EXPORT_SYMBOL(sym, "_gpl_future") +- +- +-#ifdef CONFIG_UNUSED_SYMBOLS +-#define EXPORT_UNUSED_SYMBOL(sym) __EXPORT_SYMBOL(sym, "_unused") +-#define EXPORT_UNUSED_SYMBOL_GPL(sym) __EXPORT_SYMBOL(sym, "_unused_gpl") +-#else +-#define EXPORT_UNUSED_SYMBOL(sym) +-#define EXPORT_UNUSED_SYMBOL_GPL(sym) +-#endif +- +-#endif +- + enum module_state + { + MODULE_STATE_LIVE, +@@ -582,11 +521,6 @@ extern void module_update_tracepoints(void); + extern int module_get_iter_tracepoints(struct tracepoint_iter *iter); + + #else /* !CONFIG_MODULES... */ +-#define EXPORT_SYMBOL(sym) +-#define EXPORT_SYMBOL_GPL(sym) +-#define EXPORT_SYMBOL_GPL_FUTURE(sym) +-#define EXPORT_UNUSED_SYMBOL(sym) +-#define EXPORT_UNUSED_SYMBOL_GPL(sym) + + /* Given an address, look for it in the exception tables. */ + static inline const struct exception_table_entry * +-- +1.7.10 + diff --git a/patches.armadillo800eva/0002-arm-Add-export.h-to-ARM-specific-files-as-required.patch b/patches.armadillo800eva/0002-arm-Add-export.h-to-ARM-specific-files-as-required.patch new file mode 100644 index 000000000000..ed49702aec16 --- /dev/null +++ b/patches.armadillo800eva/0002-arm-Add-export.h-to-ARM-specific-files-as-required.patch @@ -0,0 +1,460 @@ +From 37e7a4e1eddd663a2c5fddaabf80598f204fea62 Mon Sep 17 00:00:00 2001 +From: Paul Gortmaker +Date: Sun, 31 Jul 2011 16:17:29 -0400 +Subject: arm: Add export.h to ARM specific files as required. + +These files all make use of one of the EXPORT_SYMBOL variants +or the THIS_MODULE macro. So they will need + +Signed-off-by: Paul Gortmaker +(cherry picked from commit dc28094b905a872f8884f1f1c48ca86b3b78583a) + +Signed-off-by: Simon Horman +--- + arch/arm/common/it8152.c | 1 + + arch/arm/common/scoop.c | 1 + + arch/arm/mach-at91/cpuidle.c | 1 + + arch/arm/mach-davinci/board-dm644x-evm.c | 1 + + arch/arm/mach-davinci/board-dm646x-evm.c | 1 + + arch/arm/mach-davinci/cpufreq.c | 1 + + arch/arm/mach-davinci/cpuidle.c | 1 + + arch/arm/mach-ep93xx/core.c | 1 + + arch/arm/mach-exynos4/dev-sysmmu.c | 1 + + arch/arm/mach-iop13xx/pci.c | 1 + + arch/arm/mach-ixp2000/core.c | 1 + + arch/arm/mach-ixp4xx/common-pci.c | 1 + + arch/arm/mach-ixp4xx/common.c | 1 + + arch/arm/mach-kirkwood/cpuidle.c | 1 + + arch/arm/mach-msm/io.c | 1 + + arch/arm/mach-netx/xc.c | 1 + + arch/arm/mach-omap1/board-ams-delta.c | 1 + + arch/arm/mach-omap1/board-sx1.c | 1 + + arch/arm/mach-omap1/board-voiceblue.c | 1 + + arch/arm/mach-omap2/board-omap3evm.c | 1 + + arch/arm/mach-omap2/pm.c | 1 + + arch/arm/mach-omap2/prcm.c | 1 + + arch/arm/mach-omap2/usb-tusb6010.c | 1 + + arch/arm/mach-omap2/voltage.c | 1 + + arch/arm/mach-pxa/poodle.c | 1 + + arch/arm/mach-pxa/trizeps4.c | 1 + + arch/arm/mach-s3c2410/mach-h1940.c | 1 + + arch/arm/mach-s3c64xx/dev-audio.c | 1 + + arch/arm/mach-shmobile/clock.c | 1 + + arch/arm/mach-tegra/pcie.c | 1 + + arch/arm/mm/init.c | 1 + + arch/arm/plat-iop/gpio.c | 1 + + arch/arm/plat-iop/time.c | 1 + + arch/arm/plat-omap/clock.c | 1 + + 34 files changed, 34 insertions(+) + +diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c +index 7a21927..f8524ac 100644 +--- a/arch/arm/common/it8152.c ++++ b/arch/arm/common/it8152.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/common/scoop.c b/arch/arm/common/scoop.c +index c11af1e..67685fd 100644 +--- a/arch/arm/common/scoop.c ++++ b/arch/arm/common/scoop.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/arch/arm/mach-at91/cpuidle.c b/arch/arm/mach-at91/cpuidle.c +index 1cfeac1..f474272 100644 +--- a/arch/arm/mach-at91/cpuidle.c ++++ b/arch/arm/mach-at91/cpuidle.c +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + #include "pm.h" + +diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c +index 556bbd4..6b1760f 100644 +--- a/arch/arm/mach-davinci/board-dm644x-evm.c ++++ b/arch/arm/mach-davinci/board-dm644x-evm.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include + +diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c +index 3cdd237..f28a884 100644 +--- a/arch/arm/mach-davinci/board-dm646x-evm.c ++++ b/arch/arm/mach-davinci/board-dm646x-evm.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-davinci/cpufreq.c b/arch/arm/mach-davinci/cpufreq.c +index 41669ec..5bba707 100644 +--- a/arch/arm/mach-davinci/cpufreq.c ++++ b/arch/arm/mach-davinci/cpufreq.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-davinci/cpuidle.c b/arch/arm/mach-davinci/cpuidle.c +index bd59f31..85cc399 100644 +--- a/arch/arm/mach-davinci/cpuidle.c ++++ b/arch/arm/mach-davinci/cpuidle.c +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + #include + + #include +diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c +index 6659a0d..a946b20 100644 +--- a/arch/arm/mach-ep93xx/core.c ++++ b/arch/arm/mach-ep93xx/core.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-exynos4/dev-sysmmu.c b/arch/arm/mach-exynos4/dev-sysmmu.c +index 3b7cae0..781563f 100644 +--- a/arch/arm/mach-exynos4/dev-sysmmu.c ++++ b/arch/arm/mach-exynos4/dev-sysmmu.c +@@ -12,6 +12,7 @@ + + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-iop13xx/pci.c b/arch/arm/mach-iop13xx/pci.c +index ba3dae3..0de7ad2 100644 +--- a/arch/arm/mach-iop13xx/pci.c ++++ b/arch/arm/mach-iop13xx/pci.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/arch/arm/mach-ixp2000/core.c b/arch/arm/mach-ixp2000/core.c +index 4068166..276391e 100644 +--- a/arch/arm/mach-ixp2000/core.c ++++ b/arch/arm/mach-ixp2000/core.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-ixp4xx/common-pci.c b/arch/arm/mach-ixp4xx/common-pci.c +index e9a5893..98bebd1 100644 +--- a/arch/arm/mach-ixp4xx/common-pci.c ++++ b/arch/arm/mach-ixp4xx/common-pci.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include + + #include +diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c +index 0777257..b86a005 100644 +--- a/arch/arm/mach-ixp4xx/common.c ++++ b/arch/arm/mach-ixp4xx/common.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-kirkwood/cpuidle.c b/arch/arm/mach-kirkwood/cpuidle.c +index f68d33f..864e569 100644 +--- a/arch/arm/mach-kirkwood/cpuidle.c ++++ b/arch/arm/mach-kirkwood/cpuidle.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + +diff --git a/arch/arm/mach-msm/io.c b/arch/arm/mach-msm/io.c +index cec6ed1..8bf34bc 100644 +--- a/arch/arm/mach-msm/io.c ++++ b/arch/arm/mach-msm/io.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-netx/xc.c b/arch/arm/mach-netx/xc.c +index f009b54..e4cfb7e 100644 +--- a/arch/arm/mach-netx/xc.c ++++ b/arch/arm/mach-netx/xc.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c +index f49ce85..be8fe81 100644 +--- a/arch/arm/mach-omap1/board-ams-delta.c ++++ b/arch/arm/mach-omap1/board-ams-delta.c +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + #include + +diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c +index 0ad781d..63c550c 100644 +--- a/arch/arm/mach-omap1/board-sx1.c ++++ b/arch/arm/mach-omap1/board-sx1.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c +index 65d2420..f2e5eed 100644 +--- a/arch/arm/mach-omap1/board-voiceblue.c ++++ b/arch/arm/mach-omap1/board-voiceblue.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c +index b4d4346..0661686 100644 +--- a/arch/arm/mach-omap2/board-omap3evm.c ++++ b/arch/arm/mach-omap2/board-omap3evm.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c +index 49486f5..39ce26c 100644 +--- a/arch/arm/mach-omap2/pm.c ++++ b/arch/arm/mach-omap2/pm.c +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c +index 6be1438..1a5054e 100644 +--- a/arch/arm/mach-omap2/prcm.c ++++ b/arch/arm/mach-omap2/prcm.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include + #include +diff --git a/arch/arm/mach-omap2/usb-tusb6010.c b/arch/arm/mach-omap2/usb-tusb6010.c +index 8dd26b7..d7f4a00 100644 +--- a/arch/arm/mach-omap2/usb-tusb6010.c ++++ b/arch/arm/mach-omap2/usb-tusb6010.c +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + #include + +diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c +index 9ef3789..e964cfd 100644 +--- a/arch/arm/mach-omap2/voltage.c ++++ b/arch/arm/mach-omap2/voltage.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + +diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c +index 16d14fd..46db441 100644 +--- a/arch/arm/mach-pxa/poodle.c ++++ b/arch/arm/mach-pxa/poodle.c +@@ -16,6 +16,7 @@ + */ + #include + #include ++#include + #include + #include + #include +diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c +index 687417a..3f1a258 100644 +--- a/arch/arm/mach-pxa/trizeps4.c ++++ b/arch/arm/mach-pxa/trizeps4.c +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c +index 2a2fa06..810a992 100644 +--- a/arch/arm/mach-s3c2410/mach-h1940.c ++++ b/arch/arm/mach-s3c2410/mach-h1940.c +@@ -35,6 +35,7 @@ + #include