ANDROID: pstore/ram: Add backward compatibility for ramoops reserved region
Some of the platforms might be still expecting dedicated memory region for ramoops node. So add logic to detect the start and size of the ramoops memory region by looking up reserved memory region with of_reserved_mem_lookup() when platform_get_resource() failed. Bug: 191636717 Change-Id: Idc479b45fb3f637f7235efd6eabac62059d5e92b Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
This commit is contained in:

committed by
Todd Kjos

parent
df97297651
commit
9b136eab76
@@ -635,20 +635,28 @@ static int ramoops_parse_dt(struct platform_device *pdev,
|
|||||||
struct device_node *of_node = pdev->dev.of_node;
|
struct device_node *of_node = pdev->dev.of_node;
|
||||||
struct device_node *parent_node;
|
struct device_node *parent_node;
|
||||||
struct reserved_mem *rmem;
|
struct reserved_mem *rmem;
|
||||||
|
struct resource *res;
|
||||||
u32 value;
|
u32 value;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
dev_dbg(&pdev->dev, "using Device Tree\n");
|
dev_dbg(&pdev->dev, "using Device Tree\n");
|
||||||
|
|
||||||
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
|
if (!res) {
|
||||||
rmem = of_reserved_mem_lookup(of_node);
|
rmem = of_reserved_mem_lookup(of_node);
|
||||||
if (!rmem) {
|
if (rmem) {
|
||||||
|
pdata->mem_size = rmem->size;
|
||||||
|
pdata->mem_address = rmem->base;
|
||||||
|
} else {
|
||||||
dev_err(&pdev->dev,
|
dev_err(&pdev->dev,
|
||||||
"failed to locate DT /reserved-memory resource\n");
|
"failed to locate DT /reserved-memory resource\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
pdata->mem_size = resource_size(res);
|
||||||
|
pdata->mem_address = res->start;
|
||||||
|
}
|
||||||
|
|
||||||
pdata->mem_size = rmem->size;
|
|
||||||
pdata->mem_address = rmem->base;
|
|
||||||
/*
|
/*
|
||||||
* Setting "unbuffered" is deprecated and will be ignored if
|
* Setting "unbuffered" is deprecated and will be ignored if
|
||||||
* "mem_type" is also specified.
|
* "mem_type" is also specified.
|
||||||
|
Reference in New Issue
Block a user