aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Hao <haokexin@gmail.com>2013-07-14 05:02:06 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-08-14 00:59:50 -0400
commit5f20be4478032eeba66abddc79eae3abea45c5c8 (patch)
treec09e35314402b3647a012b517fa19a7aa0d6a80c
parent037f0eed57c3f35367ac32275e45f24e297549e9 (diff)
powerpc: Remove the empty giveup_fpu() function on 32bit kernel
Instead of implementing an empty giveup_fpu() function for each 32bit processor type, replace them with an unique empty inline function. Signed-off-by: Kevin Hao <haokexin@gmail.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/include/asm/switch_to.h3
-rw-r--r--arch/powerpc/kernel/head_40x.S8
-rw-r--r--arch/powerpc/kernel/head_44x.S10
-rw-r--r--arch/powerpc/kernel/head_8xx.S4
-rw-r--r--arch/powerpc/kernel/head_fsl_booke.S10
-rw-r--r--arch/powerpc/kernel/ppc_ksyms.c2
6 files changed, 4 insertions, 33 deletions
diff --git a/arch/powerpc/include/asm/switch_to.h b/arch/powerpc/include/asm/switch_to.h
index 39cf0f6cc373..2c7edde8f1bb 100644
--- a/arch/powerpc/include/asm/switch_to.h
+++ b/arch/powerpc/include/asm/switch_to.h
@@ -16,7 +16,6 @@ struct thread_struct;
16extern struct task_struct *_switch(struct thread_struct *prev, 16extern struct task_struct *_switch(struct thread_struct *prev,
17 struct thread_struct *next); 17 struct thread_struct *next);
18 18
19extern void giveup_fpu(struct task_struct *);
20extern void load_up_fpu(void); 19extern void load_up_fpu(void);
21extern void enable_kernel_fp(void); 20extern void enable_kernel_fp(void);
22extern void enable_kernel_altivec(void); 21extern void enable_kernel_altivec(void);
@@ -38,8 +37,10 @@ static inline void discard_lazy_cpu_state(void)
38 37
39#ifdef CONFIG_PPC_FPU 38#ifdef CONFIG_PPC_FPU
40extern void flush_fp_to_thread(struct task_struct *); 39extern void flush_fp_to_thread(struct task_struct *);
40extern void giveup_fpu(struct task_struct *);
41#else 41#else
42static inline void flush_fp_to_thread(struct task_struct *t) { } 42static inline void flush_fp_to_thread(struct task_struct *t) { }
43static inline void giveup_fpu(struct task_struct *t) { }
43#endif 44#endif
44 45
45#ifdef CONFIG_ALTIVEC 46#ifdef CONFIG_ALTIVEC
diff --git a/arch/powerpc/kernel/head_40x.S b/arch/powerpc/kernel/head_40x.S
index 8a9b6f59822d..67ee0d6c1070 100644
--- a/arch/powerpc/kernel/head_40x.S
+++ b/arch/powerpc/kernel/head_40x.S
@@ -822,14 +822,6 @@ finish_tlb_load:
822 rfi /* Should sync shadow TLBs */ 822 rfi /* Should sync shadow TLBs */
823 b . /* prevent prefetch past rfi */ 823 b . /* prevent prefetch past rfi */
824 824
825/* extern void giveup_fpu(struct task_struct *prev)
826 *
827 * The PowerPC 4xx family of processors do not have an FPU, so this just
828 * returns.
829 */
830_ENTRY(giveup_fpu)
831 blr
832
833/* This is where the main kernel code starts. 825/* This is where the main kernel code starts.
834 */ 826 */
835start_here: 827start_here:
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
index 97e2671cde7f..c334f53453f7 100644
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
@@ -784,16 +784,6 @@ _GLOBAL(__fixup_440A_mcheck)
784 sync 784 sync
785 blr 785 blr
786 786
787/*
788 * extern void giveup_fpu(struct task_struct *prev)
789 *
790 * The 44x core does not have an FPU.
791 */
792#ifndef CONFIG_PPC_FPU
793_GLOBAL(giveup_fpu)
794 blr
795#endif
796
797_GLOBAL(set_context) 787_GLOBAL(set_context)
798 788
799#ifdef CONFIG_BDI_SWITCH 789#ifdef CONFIG_BDI_SWITCH
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S
index b2a5860accfb..1b92a97b1b04 100644
--- a/arch/powerpc/kernel/head_8xx.S
+++ b/arch/powerpc/kernel/head_8xx.S
@@ -691,10 +691,6 @@ modified_instr:
691 b 151b 691 b 151b
692#endif 692#endif
693 693
694 .globl giveup_fpu
695giveup_fpu:
696 blr
697
698/* 694/*
699 * This is where the main kernel code starts. 695 * This is where the main kernel code starts.
700 */ 696 */
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S
index d10a7cacccd2..289afaffbbb5 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -948,16 +948,6 @@ _GLOBAL(giveup_spe)
948#endif /* CONFIG_SPE */ 948#endif /* CONFIG_SPE */
949 949
950/* 950/*
951 * extern void giveup_fpu(struct task_struct *prev)
952 *
953 * Not all FSL Book-E cores have an FPU
954 */
955#ifndef CONFIG_PPC_FPU
956_GLOBAL(giveup_fpu)
957 blr
958#endif
959
960/*
961 * extern void abort(void) 951 * extern void abort(void)
962 * 952 *
963 * At present, this routine just applies a system reset. 953 * At present, this routine just applies a system reset.
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 380a6f9fa7f8..21646dbe1bb3 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -96,7 +96,9 @@ EXPORT_SYMBOL(pci_dram_offset);
96 96
97EXPORT_SYMBOL(start_thread); 97EXPORT_SYMBOL(start_thread);
98 98
99#ifdef CONFIG_PPC_FPU
99EXPORT_SYMBOL(giveup_fpu); 100EXPORT_SYMBOL(giveup_fpu);
101#endif
100#ifdef CONFIG_ALTIVEC 102#ifdef CONFIG_ALTIVEC
101EXPORT_SYMBOL(giveup_altivec); 103EXPORT_SYMBOL(giveup_altivec);
102#endif /* CONFIG_ALTIVEC */ 104#endif /* CONFIG_ALTIVEC */