|
|
df7b7f |
From fd8dc9a997915d9e197233bb58622111c36ccb16 Mon Sep 17 00:00:00 2001
|
|
|
df7b7f |
From: Lyonel Vincent <lyonel@ezix.org>
|
|
|
df7b7f |
Date: Fri, 14 Oct 2016 14:28:42 +0200
|
|
|
df7b7f |
Subject: [PATCH 17/43] merge Github pull request 22
|
|
|
df7b7f |
|
|
|
df7b7f |
https://github.com/lyonel/lshw/pull/22
|
|
|
df7b7f |
|
|
|
df7b7f |
Parent #address-cells and #size-cells property tells how to parse
|
|
|
df7b7f |
reg property. Current code endup assigning 1 to address and size variable
|
|
|
df7b7f |
which is not correct.
|
|
|
df7b7f |
---
|
|
|
df7b7f |
src/core/device-tree.cc | 10 ++++++++--
|
|
|
df7b7f |
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
df7b7f |
|
|
|
df7b7f |
diff --git a/src/core/device-tree.cc b/src/core/device-tree.cc
|
|
|
df7b7f |
index 2823233..c2b7d15 100644
|
|
|
df7b7f |
--- a/src/core/device-tree.cc
|
|
|
df7b7f |
+++ b/src/core/device-tree.cc
|
|
|
df7b7f |
@@ -89,8 +89,14 @@ static vector < reg_entry > get_reg_property(const string & node)
|
|
|
df7b7f |
{
|
|
|
df7b7f |
vector < reg_entry > result;
|
|
|
df7b7f |
|
|
|
df7b7f |
- uint32_t num_address_cells = get_u32(node + "/../#address-cells") || 1;
|
|
|
df7b7f |
- uint32_t num_size_cells = get_u32(node + "/../#size-cells") || 1;
|
|
|
df7b7f |
+ uint32_t num_address_cells = 1;
|
|
|
df7b7f |
+ uint32_t num_size_cells = 1;
|
|
|
df7b7f |
+
|
|
|
df7b7f |
+ if (exists(node + "/../#address-cells"))
|
|
|
df7b7f |
+ num_address_cells = get_u32(node + "/../#address-cells");
|
|
|
df7b7f |
+ if (exists(node + "/../#size-cells"))
|
|
|
df7b7f |
+ num_size_cells = get_u32(node + "/../#size-cells");
|
|
|
df7b7f |
+
|
|
|
df7b7f |
if (num_address_cells > 2 || num_size_cells > 2)
|
|
|
df7b7f |
return result;
|
|
|
df7b7f |
|
|
|
df7b7f |
--
|
|
|
df7b7f |
2.10.2
|
|
|
df7b7f |
|