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>
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user