[linux-yocto] [PATCH 10/10] pinctrl: make pinctrl_register() return proper error code
Yong, Jonathan
jonathan.yong at intel.com
Mon Jul 11 19:42:16 PDT 2016
From: Masahiro Yamada <yamada.masahiro at socionext.com>
Currently, pinctrl_register() just returns NULL on error, so the
callers can not know the exact reason of the failure.
Some of the pinctrl drivers return -EINVAL, some -ENODEV, and some
-ENOMEM on error of pinctrl_register(), although the error code
might be different from the real cause of the error.
This commit reworks pinctrl_register() to return the appropriate
error code and modifies all of the pinctrl drivers to use IS_ERR()
for the error checking and PTR_ERR() for getting the error code.
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Acked-by: Patrice Chotard <patrice.chotard at st.com>
Acked-by: Thierry Reding <treding at nvidia.com>
Acked-by: Heiko Stuebner <heiko at sntech.de>
Tested-by: Mika Westerberg <mika.westerberg at linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg at linux.intel.com>
Acked-by: Lee Jones <lee at kernel.org>
Acked-by: Sören Brinkmann <soren.brinkmann at xilinx.com>
Acked-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Acked-by: Ray Jui <rjui at broadcom.com>
Acked-by: Antoine Tenart <antoine.tenart at free-electrons.com>
Acked-by: Hongzhou Yang <hongzhou.yang at mediatek.com>
Acked-by: Wei Chen <Wei.Chen at csr.com>
Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
(cherry picked from commit 323de9efdf3e75d1dfb48003a52e59d6d9d4c7a5)
Signed-off-by: Yong, Jonathan <jonathan.yong at intel.com>
---
drivers/pinctrl/pinctrl-lpc18xx.c | 4 ++--
drivers/pinctrl/pinctrl-pistachio.c | 4 ++--
drivers/pinctrl/sirf/pinctrl-atlas7.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-lpc18xx.c b/drivers/pinctrl/pinctrl-lpc18xx.c
index a8bc1ad..ef0b697 100644
--- a/drivers/pinctrl/pinctrl-lpc18xx.c
+++ b/drivers/pinctrl/pinctrl-lpc18xx.c
@@ -1180,10 +1180,10 @@ static int lpc18xx_scu_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, scu);
scu->pctl = pinctrl_register(&lpc18xx_scu_desc, &pdev->dev, scu);
- if (!scu->pctl) {
+ if (IS_ERR(scu->pctl)) {
dev_err(&pdev->dev, "Could not register pinctrl driver\n");
clk_disable_unprepare(scu->clk);
- return -EINVAL;
+ return PTR_ERR(scu->pctl);
}
return 0;
diff --git a/drivers/pinctrl/pinctrl-pistachio.c b/drivers/pinctrl/pinctrl-pistachio.c
index 079ce8b..63100be 100644
--- a/drivers/pinctrl/pinctrl-pistachio.c
+++ b/drivers/pinctrl/pinctrl-pistachio.c
@@ -1474,9 +1474,9 @@ static int pistachio_pinctrl_probe(struct platform_device *pdev)
pctl->pctldev = pinctrl_register(&pistachio_pinctrl_desc, &pdev->dev,
pctl);
- if (!pctl->pctldev) {
+ if (IS_ERR(pctl->pctldev)) {
dev_err(&pdev->dev, "Failed to register pinctrl device\n");
- return -EINVAL;
+ return PTR_ERR(pctl->pctldev);
}
ret = pistachio_gpio_register(pctl);
diff --git a/drivers/pinctrl/sirf/pinctrl-atlas7.c b/drivers/pinctrl/sirf/pinctrl-atlas7.c
index c2ced3f..9384e0a 100644
--- a/drivers/pinctrl/sirf/pinctrl-atlas7.c
+++ b/drivers/pinctrl/sirf/pinctrl-atlas7.c
@@ -4079,9 +4079,9 @@ static int atlas7_pinmux_probe(struct platform_device *pdev)
/* Now register the pin controller and all pins it handles */
pmx->pctl = pinctrl_register(&pmx->pctl_desc, &pdev->dev, pmx);
- if (!pmx->pctl) {
+ if (IS_ERR(pmx->pctl)) {
dev_err(&pdev->dev, "could not register atlas7 pinmux driver\n");
- ret = -EINVAL;
+ ret = PTR_ERR(pmx->pctl);
goto unmap_io;
}
--
2.7.3
More information about the linux-yocto
mailing list