summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mvebu/coherency.c
diff options
context:
space:
mode:
authorGregory CLEMENT <gregory.clement@free-electrons.com>2014-04-14 17:10:08 +0200
committerJason Cooper <jason@lakedaemon.net>2014-05-08 16:18:54 +0000
commit2e8a5942f8751c03fdd50228a02909654d13f01d (patch)
treed69f5a3b881817c12064a52c11b9d39426d9f233 /arch/arm/mach-mvebu/coherency.c
parent952f4ca79b4ec7114291aa711add1b36c6ba7515 (diff)
downloadlinux-stable-2e8a5942f8751c03fdd50228a02909654d13f01d.tar.gz
linux-stable-2e8a5942f8751c03fdd50228a02909654d13f01d.tar.bz2
linux-stable-2e8a5942f8751c03fdd50228a02909654d13f01d.zip
ARM: mvebu: Split low level functions to manipulate HW coherency
Actually enabling coherency and adding a CPU on a SMP group are two different operations which can be done separately. This patch splits this in two functions. Moreover as they use common pattern, this patch also creates local low level functions (ll_get_coherency_base and ll_get_cpuid) to be used by the exposed functions (ll_add_cpu_to_smp_group and ll_enable_coherency) Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Link: https://lkml.kernel.org/r/1397488214-20685-6-git-send-email-gregory.clement@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/mach-mvebu/coherency.c')
-rw-r--r--arch/arm/mach-mvebu/coherency.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/mach-mvebu/coherency.c b/arch/arm/mach-mvebu/coherency.c
index 944372a18ed6..9d5ccd372712 100644
--- a/arch/arm/mach-mvebu/coherency.c
+++ b/arch/arm/mach-mvebu/coherency.c
@@ -60,8 +60,9 @@ static struct of_device_id of_coherency_table[] = {
{ /* end of list */ },
};
-/* Function defined in coherency_ll.S */
-int ll_set_cpu_coherent(void);
+/* Functions defined in coherency_ll.S */
+int ll_enable_coherency(void);
+void ll_add_cpu_to_smp_group(void);
int set_cpu_coherent(void)
{
@@ -71,7 +72,8 @@ int set_cpu_coherent(void)
return 1;
}
- return ll_set_cpu_coherent();
+ ll_add_cpu_to_smp_group();
+ return ll_enable_coherency();
}
/*