From: Kees Cook <[email protected]>

Instead of a ramoops-specific node, use a child node of /reserved-memory.
This requires that of_platform_device_create() be explicitly called
for the node, though, since "/reserved-memory" does not have its own
"compatible" property.

Suggested-by: Rob Herring <[email protected]>
Signed-off-by: Kees Cook <[email protected]>
Acked-by: Rob Herring <[email protected]>
[[email protected]: ported to Barebox from Linux commit 529182e204db]
Signed-off-by: Philipp Zabel <[email protected]>
---
 fs/pstore/ram.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 98c11e456d..8dc583ea86 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -377,27 +377,19 @@ static int ramoops_parse_dt(struct device_d *dev,
                            struct ramoops_platform_data *pdata)
 {
        struct device_node *of_node = dev->device_node;
-       struct device_node *mem_region;
-       struct resource res;
+       struct resource *res;
        u32 value;
        int ret;
 
-       mem_region = of_parse_phandle(of_node, "memory-region", 0);
-       if (!mem_region) {
-               dev_err(dev, "no memory-region phandle\n");
-               return -ENODEV;
-       }
-
-       ret = of_address_to_resource(mem_region, 0, &res);
-       if (ret) {
+       res = dev_get_resource(dev, IORESOURCE_MEM, 0);
+       if (!res) {
                dev_err(dev,
-                       "failed to translate memory-region to resource: %d\n",
-                       ret);
-               return ret;
+                       "failed to locate DT /reserved-memory resource\n");
+               return -EINVAL;
        }
 
-       pdata->mem_size = resource_size(&res);
-       pdata->mem_address = res.start;
+       pdata->mem_size = resource_size(res);
+       pdata->mem_address = res->start;
        pdata->mem_type = of_property_read_bool(of_node, "unbuffered");
        pdata->dump_oops = !of_property_read_bool(of_node, "no-dump-oops");
 
-- 
2.11.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to