diff options
Diffstat (limited to 'drivers/soc/qcom/smem.c')
-rw-r--r-- | drivers/soc/qcom/smem.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c index b91ecf72a236..938ffb01d155 100644 --- a/drivers/soc/qcom/smem.c +++ b/drivers/soc/qcom/smem.c | |||
@@ -888,6 +888,7 @@ static int qcom_smem_map_memory(struct qcom_smem *smem, struct device *dev, | |||
888 | { | 888 | { |
889 | struct device_node *np; | 889 | struct device_node *np; |
890 | struct resource r; | 890 | struct resource r; |
891 | resource_size_t size; | ||
891 | int ret; | 892 | int ret; |
892 | 893 | ||
893 | np = of_parse_phandle(dev->of_node, name, 0); | 894 | np = of_parse_phandle(dev->of_node, name, 0); |
@@ -900,12 +901,13 @@ static int qcom_smem_map_memory(struct qcom_smem *smem, struct device *dev, | |||
900 | of_node_put(np); | 901 | of_node_put(np); |
901 | if (ret) | 902 | if (ret) |
902 | return ret; | 903 | return ret; |
904 | size = resource_size(&r); | ||
903 | 905 | ||
904 | smem->regions[i].aux_base = (u32)r.start; | 906 | smem->regions[i].virt_base = devm_ioremap_wc(dev, r.start, size); |
905 | smem->regions[i].size = resource_size(&r); | ||
906 | smem->regions[i].virt_base = devm_ioremap_wc(dev, r.start, resource_size(&r)); | ||
907 | if (!smem->regions[i].virt_base) | 907 | if (!smem->regions[i].virt_base) |
908 | return -ENOMEM; | 908 | return -ENOMEM; |
909 | smem->regions[i].aux_base = (u32)r.start; | ||
910 | smem->regions[i].size = size; | ||
909 | 911 | ||
910 | return 0; | 912 | return 0; |
911 | } | 913 | } |