Re: [PATCH 1/3] powerpc/kernel: Remove nested if statements in rtas_initialize()
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-01-23 09:08:21
Gavin Shan [off-list ref] writes:
quoted hunk ↗ jump to hunk
This removes the unnecessary nested if statements in function rtas_initialize(), to simplify the code. No functional changes introduced. Signed-off-by: Gavin Shan <redacted> --- arch/powerpc/kernel/rtas.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-)diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index 112cc3b..9ba0f67 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c@@ -1145,31 +1145,30 @@ asmlinkage int ppc_rtas(struct rtas_args __user *uargs) void __init rtas_initialize(void) { unsigned long rtas_region = RTAS_INSTANTIATE_MAX; + const __be32 *basep, *entryp, *sizep; /* Get RTAS dev node and fill up our "rtas" structure with infos * about it. */ rtas.dev = of_find_node_by_name(NULL, "rtas"); - if (rtas.dev) { - const __be32 *basep, *entryp, *sizep; - - basep = of_get_property(rtas.dev, "linux,rtas-base", NULL); - sizep = of_get_property(rtas.dev, "rtas-size", NULL); - if (basep != NULL && sizep != NULL) {
...
- } else
Previously we set rtas.dev to NULL if either basep or sizep was NULL.
- rtas.dev = NULL;
- }
if (!rtas.dev)
return;
+ basep = of_get_property(rtas.dev, "linux,rtas-base", NULL);
+ sizep = of_get_property(rtas.dev, "rtas-size", NULL);
+ if (basep == NULL && sizep == NULL) {But now you set it to NULL only if BOTH basep and sizep are NULL. Was that intentional? If so you need to mention it in the change log.
+ rtas.dev = NULL; + return; + }
The proper negation of:
if (basep != NULL && sizep != NULL) {
is:
if (basep == NULL || sizep == NULL) {
cheers