aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mtd
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2005-10-17 22:03:19 +0100
committerThomas Gleixner <tglx@mtd.linutronix.de>2005-11-06 23:12:57 +0100
commitfb0258730ad554db531f12fc1c3d5a5234fe52a4 (patch)
tree3a11c374d9a849dfbffe72ce0b529079d95fba68 /include/linux/mtd
parentd574504114753f52d8d2a8a0f186d2a5fcd80789 (diff)
downloadkernel_goldelico_gta04-fb0258730ad554db531f12fc1c3d5a5234fe52a4.zip
kernel_goldelico_gta04-fb0258730ad554db531f12fc1c3d5a5234fe52a4.tar.gz
kernel_goldelico_gta04-fb0258730ad554db531f12fc1c3d5a5234fe52a4.tar.bz2
[MTD] Don't let gcc inline functions marked __xipram
If they get inlined into non __xipram functions we're screwed. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/mtd')
-rw-r--r--include/linux/mtd/xip.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/include/linux/mtd/xip.h b/include/linux/mtd/xip.h
index 7b7deef..863fa5a 100644
--- a/include/linux/mtd/xip.h
+++ b/include/linux/mtd/xip.h
@@ -12,7 +12,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
- * $Id: xip.h,v 1.2 2004/12/01 15:49:10 nico Exp $
+ * $Id: xip.h,v 1.4 2005/10/17 21:03:16 nico Exp $
*/
#ifndef __LINUX_MTD_XIP_H__
@@ -23,19 +23,19 @@
#ifdef CONFIG_MTD_XIP
/*
- * Function that are modifying the flash state away from array mode must
- * obviously not be running from flash. The __xipram is therefore marking
- * those functions so they get relocated to ram.
- */
-#define __xipram __attribute__ ((__section__ (".data")))
-
-/*
* We really don't want gcc to guess anything.
* We absolutely _need_ proper inlining.
*/
#include <linux/compiler.h>
/*
+ * Function that are modifying the flash state away from array mode must
+ * obviously not be running from flash. The __xipram is therefore marking
+ * those functions so they get relocated to ram.
+ */
+#define __xipram noinline __attribute__ ((__section__ (".data")))
+
+/*
* Each architecture has to provide the following macros. They must access
* the hardware directly and not rely on any other (XIP) functions since they
* won't be available when used (flash not in array mode).