diff options
Diffstat (limited to 'arch/powerpc/lib')
-rw-r--r-- | arch/powerpc/lib/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/lib/alloc.c | 4 | ||||
-rw-r--r-- | arch/powerpc/lib/copyuser_power7.S | 2 | ||||
-rw-r--r-- | arch/powerpc/lib/devres.c | 43 | ||||
-rw-r--r-- | arch/powerpc/lib/memcpy_power7.S | 2 | ||||
-rw-r--r-- | arch/powerpc/lib/sstep.c | 6 |
6 files changed, 7 insertions, 51 deletions
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile index 9f342f134ae4..597562f69b2d 100644 --- a/arch/powerpc/lib/Makefile +++ b/arch/powerpc/lib/Makefile | |||
@@ -12,7 +12,6 @@ CFLAGS_REMOVE_feature-fixups.o = -pg | |||
12 | obj-y := string.o alloc.o \ | 12 | obj-y := string.o alloc.o \ |
13 | crtsavres.o ppc_ksyms.o | 13 | crtsavres.o ppc_ksyms.o |
14 | obj-$(CONFIG_PPC32) += div64.o copy_32.o | 14 | obj-$(CONFIG_PPC32) += div64.o copy_32.o |
15 | obj-$(CONFIG_HAS_IOMEM) += devres.o | ||
16 | 15 | ||
17 | obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \ | 16 | obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \ |
18 | usercopy_64.o mem_64.o string.o \ | 17 | usercopy_64.o mem_64.o string.o \ |
diff --git a/arch/powerpc/lib/alloc.c b/arch/powerpc/lib/alloc.c index da22c84a8fed..4a6c2cf890d9 100644 --- a/arch/powerpc/lib/alloc.c +++ b/arch/powerpc/lib/alloc.c | |||
@@ -13,9 +13,7 @@ void * __init_refok zalloc_maybe_bootmem(size_t size, gfp_t mask) | |||
13 | if (mem_init_done) | 13 | if (mem_init_done) |
14 | p = kzalloc(size, mask); | 14 | p = kzalloc(size, mask); |
15 | else { | 15 | else { |
16 | p = alloc_bootmem(size); | 16 | p = memblock_virt_alloc(size, 0); |
17 | if (p) | ||
18 | memset(p, 0, size); | ||
19 | } | 17 | } |
20 | return p; | 18 | return p; |
21 | } | 19 | } |
diff --git a/arch/powerpc/lib/copyuser_power7.S b/arch/powerpc/lib/copyuser_power7.S index c46c876ac96a..92ee840529bc 100644 --- a/arch/powerpc/lib/copyuser_power7.S +++ b/arch/powerpc/lib/copyuser_power7.S | |||
@@ -718,4 +718,4 @@ err3; stb r0,0(r3) | |||
718 | 718 | ||
719 | 15: addi r1,r1,STACKFRAMESIZE | 719 | 15: addi r1,r1,STACKFRAMESIZE |
720 | b exit_vmx_usercopy /* tail call optimise */ | 720 | b exit_vmx_usercopy /* tail call optimise */ |
721 | #endif /* CONFiG_ALTIVEC */ | 721 | #endif /* CONFIG_ALTIVEC */ |
diff --git a/arch/powerpc/lib/devres.c b/arch/powerpc/lib/devres.c deleted file mode 100644 index 8df55fc3aad6..000000000000 --- a/arch/powerpc/lib/devres.c +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2008 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version | ||
7 | * 2 of the License, or (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include <linux/device.h> /* devres_*(), devm_ioremap_release() */ | ||
11 | #include <linux/gfp.h> | ||
12 | #include <linux/io.h> /* ioremap_prot() */ | ||
13 | #include <linux/export.h> /* EXPORT_SYMBOL() */ | ||
14 | |||
15 | /** | ||
16 | * devm_ioremap_prot - Managed ioremap_prot() | ||
17 | * @dev: Generic device to remap IO address for | ||
18 | * @offset: BUS offset to map | ||
19 | * @size: Size of map | ||
20 | * @flags: Page flags | ||
21 | * | ||
22 | * Managed ioremap_prot(). Map is automatically unmapped on driver | ||
23 | * detach. | ||
24 | */ | ||
25 | void __iomem *devm_ioremap_prot(struct device *dev, resource_size_t offset, | ||
26 | size_t size, unsigned long flags) | ||
27 | { | ||
28 | void __iomem **ptr, *addr; | ||
29 | |||
30 | ptr = devres_alloc(devm_ioremap_release, sizeof(*ptr), GFP_KERNEL); | ||
31 | if (!ptr) | ||
32 | return NULL; | ||
33 | |||
34 | addr = ioremap_prot(offset, size, flags); | ||
35 | if (addr) { | ||
36 | *ptr = addr; | ||
37 | devres_add(dev, ptr); | ||
38 | } else | ||
39 | devres_free(ptr); | ||
40 | |||
41 | return addr; | ||
42 | } | ||
43 | EXPORT_SYMBOL(devm_ioremap_prot); | ||
diff --git a/arch/powerpc/lib/memcpy_power7.S b/arch/powerpc/lib/memcpy_power7.S index 2ff5c142f87b..0830587df16e 100644 --- a/arch/powerpc/lib/memcpy_power7.S +++ b/arch/powerpc/lib/memcpy_power7.S | |||
@@ -653,4 +653,4 @@ _GLOBAL(memcpy_power7) | |||
653 | 15: addi r1,r1,STACKFRAMESIZE | 653 | 15: addi r1,r1,STACKFRAMESIZE |
654 | ld r3,-STACKFRAMESIZE+STK_REG(R31)(r1) | 654 | ld r3,-STACKFRAMESIZE+STK_REG(R31)(r1) |
655 | b exit_vmx_copy /* tail call optimise */ | 655 | b exit_vmx_copy /* tail call optimise */ |
656 | #endif /* CONFiG_ALTIVEC */ | 656 | #endif /* CONFIG_ALTIVEC */ |
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c index 54651fc2d412..dc885b30f7a6 100644 --- a/arch/powerpc/lib/sstep.c +++ b/arch/powerpc/lib/sstep.c | |||
@@ -1865,6 +1865,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) | |||
1865 | } | 1865 | } |
1866 | goto ldst_done; | 1866 | goto ldst_done; |
1867 | 1867 | ||
1868 | #ifdef CONFIG_PPC_FPU | ||
1868 | case LOAD_FP: | 1869 | case LOAD_FP: |
1869 | if (regs->msr & MSR_LE) | 1870 | if (regs->msr & MSR_LE) |
1870 | return 0; | 1871 | return 0; |
@@ -1873,7 +1874,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) | |||
1873 | else | 1874 | else |
1874 | err = do_fp_load(op.reg, do_lfd, op.ea, size, regs); | 1875 | err = do_fp_load(op.reg, do_lfd, op.ea, size, regs); |
1875 | goto ldst_done; | 1876 | goto ldst_done; |
1876 | 1877 | #endif | |
1877 | #ifdef CONFIG_ALTIVEC | 1878 | #ifdef CONFIG_ALTIVEC |
1878 | case LOAD_VMX: | 1879 | case LOAD_VMX: |
1879 | if (regs->msr & MSR_LE) | 1880 | if (regs->msr & MSR_LE) |
@@ -1919,6 +1920,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) | |||
1919 | err = write_mem(op.val, op.ea, size, regs); | 1920 | err = write_mem(op.val, op.ea, size, regs); |
1920 | goto ldst_done; | 1921 | goto ldst_done; |
1921 | 1922 | ||
1923 | #ifdef CONFIG_PPC_FPU | ||
1922 | case STORE_FP: | 1924 | case STORE_FP: |
1923 | if (regs->msr & MSR_LE) | 1925 | if (regs->msr & MSR_LE) |
1924 | return 0; | 1926 | return 0; |
@@ -1927,7 +1929,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) | |||
1927 | else | 1929 | else |
1928 | err = do_fp_store(op.reg, do_stfd, op.ea, size, regs); | 1930 | err = do_fp_store(op.reg, do_stfd, op.ea, size, regs); |
1929 | goto ldst_done; | 1931 | goto ldst_done; |
1930 | 1932 | #endif | |
1931 | #ifdef CONFIG_ALTIVEC | 1933 | #ifdef CONFIG_ALTIVEC |
1932 | case STORE_VMX: | 1934 | case STORE_VMX: |
1933 | if (regs->msr & MSR_LE) | 1935 | if (regs->msr & MSR_LE) |