aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/core/regmap.c')
-rw-r--r--drivers/core/regmap.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c
index 77f6f520a0..4ebab23349 100644
--- a/drivers/core/regmap.c
+++ b/drivers/core/regmap.c
@@ -67,8 +67,25 @@ int regmap_init_mem(ofnode node, struct regmap **mapp)
67 struct resource r; 67 struct resource r;
68 68
69 addr_len = ofnode_read_simple_addr_cells(ofnode_get_parent(node)); 69 addr_len = ofnode_read_simple_addr_cells(ofnode_get_parent(node));
70 if (addr_len < 0) {
71 debug("%s: Error while reading the addr length (ret = %d)\n",
72 ofnode_get_name(node), addr_len);
73 return addr_len;
74 }
75
70 size_len = ofnode_read_simple_size_cells(ofnode_get_parent(node)); 76 size_len = ofnode_read_simple_size_cells(ofnode_get_parent(node));
77 if (size_len < 0) {
78 debug("%s: Error while reading the size length: (ret = %d)\n",
79 ofnode_get_name(node), size_len);
80 return size_len;
81 }
82
71 both_len = addr_len + size_len; 83 both_len = addr_len + size_len;
84 if (!both_len) {
85 debug("%s: Both addr and size length are zero\n",
86 ofnode_get_name(node));
87 return -EINVAL;
88 }
72 89
73 len = ofnode_read_size(node, "reg"); 90 len = ofnode_read_size(node, "reg");
74 if (len < 0) 91 if (len < 0)