aboutsummaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorPatrick Tjin <pattjin@google.com>2015-01-21 13:20:29 -0800
committerMister Oyster <oysterized@gmail.com>2017-05-20 21:09:18 +0200
commit588797623ebf9ec871a64773b906e487f0f1ea27 (patch)
tree1a8069c1a0c7fca411ce4f1a31b70e1a0604445b /fs
parent132b594a8555216dfd7fe52824aae394eab4c231 (diff)
fs/pstore: initialize pmsg from device tree
- Add pmsg initialization - or_property_read_u32 does not set *out value if case missing. Must initialize _all_ output vars before call. Based on: I5c9bcb7bd43af5a80addecf824f14dd7d63b0064 Change-Id: I2723d407be1ae77d45ad5486a2ddd13b82c5c588 Signed-off-by: Patrick Tjin <pattjin@google.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/pstore/ram.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index e5cc1094b..0fc67f61b 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -432,7 +432,8 @@ static void ramoops_of_init(struct platform_device *pdev)
const struct device *dev = &pdev->dev;
struct ramoops_platform_data *pdata;
struct device_node *np = pdev->dev.of_node;
- u32 start, size, console;
+ u32 start = 0, size = 0, console = 0, pmsg = 0;
+ u32 record = 0, oops = 0;
int ret;
pdata = dev_get_drvdata(dev);
@@ -455,9 +456,27 @@ static void ramoops_of_init(struct platform_device *pdev)
if (ret)
return;
+ ret = of_property_read_u32(np, "android,ramoops-pmsg-size",
+ &pmsg);
+ if (ret)
+ pr_info("pmsg buffer not configured");
+
+ ret = of_property_read_u32(np, "android,ramoops-record-size",
+ &record);
+ if (ret)
+ pr_info("record buffer not configured");
+
+ ret = of_property_read_u32(np, "android,ramoops-dump-oops",
+ &oops);
+ if (ret)
+ pr_info("oops not configured");
+
pdata->mem_address = start;
pdata->mem_size = size;
pdata->console_size = console;
+ pdata->pmsg_size = pmsg;
+ pdata->record_size = record;
+ pdata->dump_oops = (int)oops;
}
#else
static inline void ramoops_of_init(struct platform_device *pdev)