From: Masahiro Yamada <yamada.masah...@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.masah...@socionext.com> Acked-by: Patrice Chotard <patrice.chot...@st.com> Acked-by: Thierry Reding <tred...@nvidia.com> Acked-by: Heiko Stuebner <he...@sntech.de> Tested-by: Mika Westerberg <mika.westerb...@linux.intel.com> Acked-by: Mika Westerberg <mika.westerb...@linux.intel.com> Acked-by: Lee Jones <l...@kernel.org> Acked-by: Sören Brinkmann <soren.brinkm...@xilinx.com> Acked-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com> Acked-by: Ray Jui <r...@broadcom.com> Acked-by: Antoine Tenart <antoine.ten...@free-electrons.com> Acked-by: Hongzhou Yang <hongzhou.y...@mediatek.com> Acked-by: Wei Chen <wei.c...@csr.com> Signed-off-by: Linus Walleij <linus.wall...@linaro.org> (cherry picked from commit 323de9efdf3e75d1dfb48003a52e59d6d9d4c7a5) Signed-off-by: Yong, Jonathan <jonathan.y...@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 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto