Commit b9719635 authored by Linus Torvalds's avatar Linus Torvalds

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
parents e72a68fc 2d291e90
...@@ -195,7 +195,7 @@ image-$(CONFIG_PPC_CELLEB) += zImage.pseries ...@@ -195,7 +195,7 @@ image-$(CONFIG_PPC_CELLEB) += zImage.pseries
image-$(CONFIG_PPC_CHRP) += zImage.chrp image-$(CONFIG_PPC_CHRP) += zImage.chrp
image-$(CONFIG_PPC_EFIKA) += zImage.chrp image-$(CONFIG_PPC_EFIKA) += zImage.chrp
image-$(CONFIG_PPC_PMAC) += zImage.pmac image-$(CONFIG_PPC_PMAC) += zImage.pmac
image-$(CONFIG_PPC_HOLLY) += zImage.holly image-$(CONFIG_PPC_HOLLY) += dtbImage.holly
image-$(CONFIG_PPC_PRPMC2800) += dtbImage.prpmc2800 image-$(CONFIG_PPC_PRPMC2800) += dtbImage.prpmc2800
image-$(CONFIG_PPC_ISERIES) += zImage.iseries image-$(CONFIG_PPC_ISERIES) += zImage.iseries
image-$(CONFIG_DEFAULT_UIMAGE) += uImage image-$(CONFIG_DEFAULT_UIMAGE) += uImage
......
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
cell-index = <0>; cell-index = <0>;
reg = <0x0 0x80>; reg = <0x0 0x80>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
interrupts = <60 2>; interrupts = <76 2>;
}; };
dma-channel@1 { dma-channel@1 {
compatible = "fsl,mpc8610-dma-channel", compatible = "fsl,mpc8610-dma-channel",
...@@ -289,7 +289,7 @@ ...@@ -289,7 +289,7 @@
cell-index = <1>; cell-index = <1>;
reg = <0x80 0x80>; reg = <0x80 0x80>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
interrupts = <61 2>; interrupts = <77 2>;
}; };
dma-channel@2 { dma-channel@2 {
compatible = "fsl,mpc8610-dma-channel", compatible = "fsl,mpc8610-dma-channel",
...@@ -297,7 +297,7 @@ ...@@ -297,7 +297,7 @@
cell-index = <2>; cell-index = <2>;
reg = <0x100 0x80>; reg = <0x100 0x80>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
interrupts = <62 2>; interrupts = <78 2>;
}; };
dma-channel@3 { dma-channel@3 {
compatible = "fsl,mpc8610-dma-channel", compatible = "fsl,mpc8610-dma-channel",
...@@ -305,7 +305,7 @@ ...@@ -305,7 +305,7 @@
cell-index = <3>; cell-index = <3>;
reg = <0x180 0x80>; reg = <0x180 0x80>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
interrupts = <63 2>; interrupts = <79 2>;
}; };
}; };
......
...@@ -409,6 +409,13 @@ do { \ ...@@ -409,6 +409,13 @@ do { \
/* Keep this the last entry. */ /* Keep this the last entry. */
#define R_PPC64_NUM 107 #define R_PPC64_NUM 107
/* There's actually a third entry here, but it's unused */
struct ppc64_opd_entry
{
unsigned long funcaddr;
unsigned long r2;
};
#ifdef __KERNEL__ #ifdef __KERNEL__
#ifdef CONFIG_SPU_BASE #ifdef CONFIG_SPU_BASE
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
#define _ASM_POWERPC_SECTIONS_H #define _ASM_POWERPC_SECTIONS_H
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/elf.h>
#include <linux/uaccess.h>
#include <asm-generic/sections.h> #include <asm-generic/sections.h>
#ifdef __powerpc64__ #ifdef __powerpc64__
...@@ -17,7 +19,15 @@ static inline int in_kernel_text(unsigned long addr) ...@@ -17,7 +19,15 @@ static inline int in_kernel_text(unsigned long addr)
} }
#undef dereference_function_descriptor #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 #endif
......
...@@ -21,9 +21,7 @@ ...@@ -21,9 +21,7 @@
#include <linux/err.h> #include <linux/err.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include <linux/bug.h> #include <linux/bug.h>
#include <linux/uaccess.h>
#include <asm/module.h> #include <asm/module.h>
#include <asm/sections.h>
#include <asm/firmware.h> #include <asm/firmware.h>
#include <asm/code-patching.h> #include <asm/code-patching.h>
#include <linux/sort.h> #include <linux/sort.h>
...@@ -43,13 +41,6 @@ ...@@ -43,13 +41,6 @@
#define DEBUGP(fmt , ...) #define DEBUGP(fmt , ...)
#endif #endif
/* There's actually a third entry here, but it's unused */
struct ppc64_opd_entry
{
unsigned long funcaddr;
unsigned long r2;
};
/* Like PPC32, we need little trampolines to do > 24-bit jumps (into /* Like PPC32, we need little trampolines to do > 24-bit jumps (into
the kernel itself). But on PPC64, these need to be used for every the kernel itself). But on PPC64, these need to be used for every
jump, actually, to reset r2 (TOC+0x8000). */ jump, actually, to reset r2 (TOC+0x8000). */
...@@ -452,13 +443,3 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, ...@@ -452,13 +443,3 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
return 0; return 0;
} }
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;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment