diff mbox

make dt_scan_depth1_nodes more readable

Message ID alpine.DEB.2.10.1604251121590.4855@sstabellini-ThinkPad-X260
State New
Headers show

Commit Message

Stefano Stabellini April 25, 2016, 10:25 a.m. UTC
From: Mark Rutland <mark.rutland@arm.com>


Improve the readability of dt_scan_depth1_nodes by removing the nested
conditionals.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>


---

Note: this patch is based on xentip/for-linus-4.7

Comments

Will Deacon April 25, 2016, 10:53 a.m. UTC | #1
On Mon, Apr 25, 2016 at 11:25:11AM +0100, Stefano Stabellini wrote:
> From: Mark Rutland <mark.rutland@arm.com>

> 

> Improve the readability of dt_scan_depth1_nodes by removing the nested

> conditionals.

> 

> Signed-off-by: Mark Rutland <mark.rutland@arm.com>

> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>

> 

> ---

> 

> Note: this patch is based on xentip/for-linus-4.7


So how should I merge it? :/

Will

> 

> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c

> index 57ee317..6884c76 100644

> --- a/arch/arm64/kernel/acpi.c

> +++ b/arch/arm64/kernel/acpi.c

> @@ -66,17 +66,24 @@ static int __init dt_scan_depth1_nodes(unsigned long node,

>  				       void *data)

>  {

>  	/*

> -	 * Return 1 as soon as we encounter a node at depth 1 that is

> -	 * not the /chosen node, or /hypervisor node with compatible

> -	 * string "xen,xen".

> +	 * Ignore anything not directly under the root node; we'll

> +	 * catch its parent instead.

>  	 */

> -	if (depth == 1 && (strcmp(uname, "chosen") != 0)) {

> -		if (strcmp(uname, "hypervisor") != 0 ||

> -		    !of_flat_dt_is_compatible(node, "xen,xen"))

> -			return 1;

> -	}

> +	if (depth != 1)

> +		return 0;

>  

> -	return 0;

> +	if (strcmp(uname, "chosen") == 0)

> +		return 0;

> +

> +	if (strcmp(uname, "hypervisor") == 0 &&

> +	    of_flat_dt_is_compatible(node, "xen,xen"))

> +		return 0;

> +

> +	/*

> +	 * This node at depth 1 is neither a chosen node nor a xen node,

> +	 * which we do not expect.

> +	 */

> +	return 1;

>  }

>  

>  /*

>
Will Deacon April 25, 2016, 11:19 a.m. UTC | #2
On Mon, Apr 25, 2016 at 12:04:53PM +0100, Stefano Stabellini wrote:
> On Mon, 25 Apr 2016, Will Deacon wrote:

> > On Mon, Apr 25, 2016 at 11:25:11AM +0100, Stefano Stabellini wrote:

> > > From: Mark Rutland <mark.rutland@arm.com>

> > > 

> > > Improve the readability of dt_scan_depth1_nodes by removing the nested

> > > conditionals.

> > > 

> > > Signed-off-by: Mark Rutland <mark.rutland@arm.com>

> > > Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>

> > > 

> > > ---

> > > 

> > > Note: this patch is based on xentip/for-linus-4.7

> > 

> > So how should I merge it? :/

> 

> I think that if you would like to merge it, it would be easier this time

> for me to carry it in my tree. Otherwise you would have to base your

> for-linus-4.7 on xentip/for-linus-4.7 and send the pull request after

> the Xen pull request -- undesirable.


Ok, doesn't look like we'll run into conflicts. I just find it weird that
you'd have a patch with no functional change as a dependency, hence my
preference to queue it in the arm64 tree (where conflicts are more likely).

Will
Will Deacon April 25, 2016, 12:54 p.m. UTC | #3
On Mon, Apr 25, 2016 at 12:24:03PM +0100, Stefano Stabellini wrote:
> On Mon, 25 Apr 2016, Will Deacon wrote:

> > On Mon, Apr 25, 2016 at 12:04:53PM +0100, Stefano Stabellini wrote:

> > > On Mon, 25 Apr 2016, Will Deacon wrote:

> > > > On Mon, Apr 25, 2016 at 11:25:11AM +0100, Stefano Stabellini wrote:

> > > > > From: Mark Rutland <mark.rutland@arm.com>

> > > > > 

> > > > > Improve the readability of dt_scan_depth1_nodes by removing the nested

> > > > > conditionals.

> > > > > 

> > > > > Signed-off-by: Mark Rutland <mark.rutland@arm.com>

> > > > > Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>

> > > > > 

> > > > > ---

> > > > > 

> > > > > Note: this patch is based on xentip/for-linus-4.7

> > > > 

> > > > So how should I merge it? :/

> > > 

> > > I think that if you would like to merge it, it would be easier this time

> > > for me to carry it in my tree. Otherwise you would have to base your

> > > for-linus-4.7 on xentip/for-linus-4.7 and send the pull request after

> > > the Xen pull request -- undesirable.

> > 

> > Ok, doesn't look like we'll run into conflicts. I just find it weird that

> > you'd have a patch with no functional change as a dependency, hence my

> > preference to queue it in the arm64 tree (where conflicts are more likely).

>  

> I see, that makes sense. In that case, would you be happy to take:

> 

> https://git.kernel.org/cgit/linux/kernel/git/xen/tip.git/commit/?h=for-linus-4.7&id=df115bb0a0b8ad2f6dc62f8d094c21e77b367e7c

> 

> in your tree? That would get rid of any cross dependecies between the

> two tree.


I can take that and the other patch on top too.

Will
diff mbox

Patch

diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
index 57ee317..6884c76 100644
--- a/arch/arm64/kernel/acpi.c
+++ b/arch/arm64/kernel/acpi.c
@@ -66,17 +66,24 @@  static int __init dt_scan_depth1_nodes(unsigned long node,
 				       void *data)
 {
 	/*
-	 * Return 1 as soon as we encounter a node at depth 1 that is
-	 * not the /chosen node, or /hypervisor node with compatible
-	 * string "xen,xen".
+	 * Ignore anything not directly under the root node; we'll
+	 * catch its parent instead.
 	 */
-	if (depth == 1 && (strcmp(uname, "chosen") != 0)) {
-		if (strcmp(uname, "hypervisor") != 0 ||
-		    !of_flat_dt_is_compatible(node, "xen,xen"))
-			return 1;
-	}
+	if (depth != 1)
+		return 0;
 
-	return 0;
+	if (strcmp(uname, "chosen") == 0)
+		return 0;
+
+	if (strcmp(uname, "hypervisor") == 0 &&
+	    of_flat_dt_is_compatible(node, "xen,xen"))
+		return 0;
+
+	/*
+	 * This node at depth 1 is neither a chosen node nor a xen node,
+	 * which we do not expect.
+	 */
+	return 1;
 }
 
 /*