Re: [RFC Part1 PATCH v3 09/17] resource: Consolidate resource walking code

From: Tom Lendacky
Date: Thu Aug 17 2017 - 15:03:53 EST


On 8/17/2017 1:55 PM, Tom Lendacky wrote:
On 7/28/2017 10:23 AM, Borislav Petkov wrote:
On Mon, Jul 24, 2017 at 02:07:49PM -0500, Brijesh Singh wrote:
From: Tom Lendacky <thomas.lendacky@xxxxxxx>

The walk_iomem_res_desc(), walk_system_ram_res() and walk_system_ram_range()
functions each have much of the same code. Create a new function that
consolidates the common code from these functions in one place to reduce
the amount of duplicated code.

Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
Signed-off-by: Brijesh Singh <brijesh.singh@xxxxxxx>
---
kernel/resource.c | 53 ++++++++++++++++++++++++++---------------------------
1 file changed, 26 insertions(+), 27 deletions(-)

diff --git a/kernel/resource.c b/kernel/resource.c
index 9b5f044..7b20b3e 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -397,9 +397,30 @@ static int find_next_iomem_res(struct resource *res, unsigned long desc,
res->start = p->start;
if (res->end > p->end)
res->end = p->end;
+ res->desc = p->desc;
return 0;

I must be going blind: where are we using that res->desc?

I think that was left-over from the initial consolidation work I was
doing. I'll remove it.

I spoke too soon... I use it in a later patch as part of a callback.
But instead of putting it here, I'll add it to the patch that actually
needs it.

Thanks,
Tom



+static int __walk_iomem_res_desc(struct resource *res, unsigned long desc,
+ bool first_level_children_only,

Btw, that variable name is insanely long.

I know, but I'm maintaining consistency with the name that was already
present vs. changing it.


The rest looks ok to me, thanks for the cleanup!

Thanks,
Tom