提交 9c61f7a0 编写于 作者: A Anshuman Khandual 提交者: Michael Ellerman

powerpc/prom: Simplify the logic to fetch SLB size

The code to fetch the SLB size from the device tree wants to first look
for "slb-size" and then if that's not found "ibm,slb-size".

We can simplify the code by looking for the properties and then if we
find one of them we set mmu_slb_size.

We also change the function name from check_cpu_slb_size() to
init_mmu_slb_size() as the function doesn't check anything, it only
initialises mmu_slb_size.
Signed-off-by: NAnshuman Khandual <khandual@linux.vnet.ibm.com>
[mpe: Rewrite change log]
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 79d0be74
......@@ -218,22 +218,18 @@ static void __init check_cpu_pa_features(unsigned long node)
}
#ifdef CONFIG_PPC_STD_MMU_64
static void __init check_cpu_slb_size(unsigned long node)
static void __init init_mmu_slb_size(unsigned long node)
{
const __be32 *slb_size_ptr;
slb_size_ptr = of_get_flat_dt_prop(node, "slb-size", NULL);
if (slb_size_ptr != NULL) {
mmu_slb_size = be32_to_cpup(slb_size_ptr);
return;
}
slb_size_ptr = of_get_flat_dt_prop(node, "ibm,slb-size", NULL);
if (slb_size_ptr != NULL) {
slb_size_ptr = of_get_flat_dt_prop(node, "slb-size", NULL) ? :
of_get_flat_dt_prop(node, "ibm,slb-size", NULL);
if (slb_size_ptr)
mmu_slb_size = be32_to_cpup(slb_size_ptr);
}
}
#else
#define check_cpu_slb_size(node) do { } while(0)
#define init_mmu_slb_size(node) do { } while(0)
#endif
static struct feature_property {
......@@ -380,7 +376,7 @@ static int __init early_init_dt_scan_cpus(unsigned long node,
check_cpu_feature_properties(node);
check_cpu_pa_features(node);
check_cpu_slb_size(node);
init_mmu_slb_size(node);
#ifdef CONFIG_PPC64
if (nthreads > 1)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册