diff options
author | Wei Yongjun <weiyongjun1@huawei.com> | 2017-02-05 10:58:49 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-02-13 09:48:18 -0500 |
commit | baafacab092e282c69f57a90dc2c4ed25b083e22 (patch) | |
tree | e2eb04a047198a270fbb00f302ed615c2f4da8ea | |
parent | aa1dd80f80ccf3a47227ab42625e7bbacd5ff272 (diff) |
pinctrl: samsung: Fix return value check in samsung_pinctrl_get_soc_data()
In case of error, the function devm_ioremap() returns NULL pointer not
ERR_PTR(). Fix by using devm_ioremap_resource instead of devm_ioremap.
Fixes: 8b1bd11c1f8f ("pinctrl: samsung: Add the support the multiple IORESOURCE_MEM for one pin-bank")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/samsung/pinctrl-samsung.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c index d601b5303e73..f9ddba7decc1 100644 --- a/drivers/pinctrl/samsung/pinctrl-samsung.c +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c | |||
@@ -988,10 +988,9 @@ samsung_pinctrl_get_soc_data(struct samsung_pinctrl_drv_data *d, | |||
988 | 988 | ||
989 | for (i = 0; i < ctrl->nr_ext_resources + 1; i++) { | 989 | for (i = 0; i < ctrl->nr_ext_resources + 1; i++) { |
990 | res = platform_get_resource(pdev, IORESOURCE_MEM, i); | 990 | res = platform_get_resource(pdev, IORESOURCE_MEM, i); |
991 | virt_base[i] = devm_ioremap(&pdev->dev, res->start, | 991 | virt_base[i] = devm_ioremap_resource(&pdev->dev, res); |
992 | resource_size(res)); | ||
993 | if (IS_ERR(virt_base[i])) | 992 | if (IS_ERR(virt_base[i])) |
994 | return ERR_PTR(-EIO); | 993 | return ERR_CAST(virt_base[i]); |
995 | } | 994 | } |
996 | 995 | ||
997 | bank = d->pin_banks; | 996 | bank = d->pin_banks; |