diff options
| author | Patrick Tjin <pattjin@google.com> | 2015-01-21 13:20:29 -0800 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-05-20 21:09:18 +0200 |
| commit | 588797623ebf9ec871a64773b906e487f0f1ea27 (patch) | |
| tree | 1a8069c1a0c7fca411ce4f1a31b70e1a0604445b | |
| parent | 132b594a8555216dfd7fe52824aae394eab4c231 (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>
| -rw-r--r-- | fs/pstore/ram.c | 21 |
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) |
