pinctrl: pxa3xx: Use devm_request_and_ioremap
Use managed resources API to simplify the code. Also ensure we do request mem_region before ioremap. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
507ccdbfd8
Коммит
9387760db2
|
@ -173,7 +173,6 @@ int pxa3xx_pinctrl_register(struct platform_device *pdev,
|
|||
{
|
||||
struct pinctrl_desc *desc;
|
||||
struct resource *res;
|
||||
int ret = 0;
|
||||
|
||||
if (!info || !info->cputype)
|
||||
return -EINVAL;
|
||||
|
@ -190,21 +189,17 @@ int pxa3xx_pinctrl_register(struct platform_device *pdev,
|
|||
return -ENOENT;
|
||||
info->phy_base = res->start;
|
||||
info->phy_size = resource_size(res);
|
||||
info->virt_base = ioremap(info->phy_base, info->phy_size);
|
||||
info->virt_base = devm_request_and_ioremap(&pdev->dev, res);
|
||||
if (!info->virt_base)
|
||||
return -ENOMEM;
|
||||
info->pctrl = pinctrl_register(desc, &pdev->dev, info);
|
||||
if (!info->pctrl) {
|
||||
dev_err(&pdev->dev, "failed to register PXA pinmux driver\n");
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
return -EINVAL;
|
||||
}
|
||||
pinctrl_add_gpio_range(info->pctrl, &pxa3xx_pinctrl_gpio_range);
|
||||
platform_set_drvdata(pdev, info);
|
||||
return 0;
|
||||
err:
|
||||
iounmap(info->virt_base);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int pxa3xx_pinctrl_unregister(struct platform_device *pdev)
|
||||
|
@ -212,7 +207,6 @@ int pxa3xx_pinctrl_unregister(struct platform_device *pdev)
|
|||
struct pxa3xx_pinmux_info *info = platform_get_drvdata(pdev);
|
||||
|
||||
pinctrl_unregister(info->pctrl);
|
||||
iounmap(info->virt_base);
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче