aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/sections.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-09-19 16:05:05 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-09-19 16:05:05 -0700
commitb9719635f85b1d3c54775b53ea45fdd8e7496682 (patch)
treedff7ad76a8fe973f46b2b959a28f12d3f47cb3d5 /arch/powerpc/include/asm/sections.h
parente72a68fc26887d2097fd7f14794aeb7c17851a5d (diff)
parent2d291e902791e1c8d72bc223b6f063bbb27a1280 (diff)
downloadkernel_samsung_crespo-b9719635f85b1d3c54775b53ea45fdd8e7496682.zip
kernel_samsung_crespo-b9719635f85b1d3c54775b53ea45fdd8e7496682.tar.gz
kernel_samsung_crespo-b9719635f85b1d3c54775b53ea45fdd8e7496682.tar.bz2
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: Fix compile failure with non modular builds powerpc: Holly board needs dtbImage target powerpc: Fix interrupt values for DMA2 in MPC8610 HPCD device tree
Diffstat (limited to 'arch/powerpc/include/asm/sections.h')
-rw-r--r--arch/powerpc/include/asm/sections.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/sections.h b/arch/powerpc/include/asm/sections.h
index 7710e9e..07956f3 100644
--- a/arch/powerpc/include/asm/sections.h
+++ b/arch/powerpc/include/asm/sections.h
@@ -2,6 +2,8 @@
#define _ASM_POWERPC_SECTIONS_H
#ifdef __KERNEL__
+#include <linux/elf.h>
+#include <linux/uaccess.h>
#include <asm-generic/sections.h>
#ifdef __powerpc64__
@@ -17,7 +19,15 @@ static inline int in_kernel_text(unsigned long addr)
}
#undef dereference_function_descriptor
-void *dereference_function_descriptor(void *);
+static inline void *dereference_function_descriptor(void *ptr)
+{
+ struct ppc64_opd_entry *desc = ptr;
+ void *p;
+
+ if (!probe_kernel_address(&desc->funcaddr, p))
+ ptr = p;
+ return ptr;
+}
#endif