pinctrl: make pinctrl_register() return proper error code
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@socionext.com> Acked-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Thierry Reding <treding@nvidia.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by: Lee Jones <lee@kernel.org> Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Ray Jui <rjui@broadcom.com> Acked-by: Antoine Tenart <antoine.tenart@free-electrons.com> Acked-by: Hongzhou Yang <hongzhou.yang@mediatek.com> Acked-by: Wei Chen <Wei.Chen@csr.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
e73ac02dc1
Коммит
323de9efdf
|
@ -1425,9 +1425,9 @@ static int __init bcm281xx_pinctrl_probe(struct platform_device *pdev)
|
|||
pctl = pinctrl_register(&bcm281xx_pinctrl_desc,
|
||||
&pdev->dev,
|
||||
pdata);
|
||||
if (!pctl) {
|
||||
if (IS_ERR(pctl)) {
|
||||
dev_err(&pdev->dev, "Failed to register pinctrl\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pctl);
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, pdata);
|
||||
|
|
|
@ -1036,9 +1036,9 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
pc->pctl_dev = pinctrl_register(&bcm2835_pinctrl_desc, dev, pc);
|
||||
if (!pc->pctl_dev) {
|
||||
if (IS_ERR(pc->pctl_dev)) {
|
||||
gpiochip_remove(&pc->gpio_chip);
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pc->pctl_dev);
|
||||
}
|
||||
|
||||
pc->gpio_range = bcm2835_pinctrl_gpio_range;
|
||||
|
|
|
@ -748,9 +748,9 @@ static int cygnus_gpio_register_pinconf(struct cygnus_gpio *chip)
|
|||
pctldesc->confops = &cygnus_pconf_ops;
|
||||
|
||||
chip->pctl = pinctrl_register(pctldesc, chip->dev, chip);
|
||||
if (!chip->pctl) {
|
||||
if (IS_ERR(chip->pctl)) {
|
||||
dev_err(chip->dev, "unable to register pinctrl device\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(chip->pctl);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -989,9 +989,9 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
|
|||
|
||||
pinctrl->pctl = pinctrl_register(&cygnus_pinctrl_desc, &pdev->dev,
|
||||
pinctrl);
|
||||
if (!pinctrl->pctl) {
|
||||
if (IS_ERR(pinctrl->pctl)) {
|
||||
dev_err(&pdev->dev, "unable to register Cygnus IOMUX pinctrl\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pinctrl->pctl);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -320,9 +320,9 @@ int berlin_pinctrl_probe(struct platform_device *pdev,
|
|||
}
|
||||
|
||||
pctrl->pctrl_dev = pinctrl_register(&berlin_pctrl_desc, dev, pctrl);
|
||||
if (!pctrl->pctrl_dev) {
|
||||
if (IS_ERR(pctrl->pctrl_dev)) {
|
||||
dev_err(dev, "failed to register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pctrl->pctrl_dev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1706,14 +1706,14 @@ struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
|
|||
int ret;
|
||||
|
||||
if (!pctldesc)
|
||||
return NULL;
|
||||
return ERR_PTR(-EINVAL);
|
||||
if (!pctldesc->name)
|
||||
return NULL;
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
pctldev = kzalloc(sizeof(*pctldev), GFP_KERNEL);
|
||||
if (pctldev == NULL) {
|
||||
dev_err(dev, "failed to alloc struct pinctrl_dev\n");
|
||||
return NULL;
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
/* Initialize pin control device struct */
|
||||
|
@ -1726,20 +1726,23 @@ struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
|
|||
mutex_init(&pctldev->mutex);
|
||||
|
||||
/* check core ops for sanity */
|
||||
if (pinctrl_check_ops(pctldev)) {
|
||||
ret = pinctrl_check_ops(pctldev);
|
||||
if (ret) {
|
||||
dev_err(dev, "pinctrl ops lacks necessary functions\n");
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
/* If we're implementing pinmuxing, check the ops for sanity */
|
||||
if (pctldesc->pmxops) {
|
||||
if (pinmux_check_ops(pctldev))
|
||||
ret = pinmux_check_ops(pctldev);
|
||||
if (ret)
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
/* If we're implementing pinconfig, check the ops for sanity */
|
||||
if (pctldesc->confops) {
|
||||
if (pinconf_check_ops(pctldev))
|
||||
ret = pinconf_check_ops(pctldev);
|
||||
if (ret)
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
|
@ -1785,7 +1788,7 @@ struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
|
|||
out_err:
|
||||
mutex_destroy(&pctldev->mutex);
|
||||
kfree(pctldev);
|
||||
return NULL;
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pinctrl_register);
|
||||
|
||||
|
|
|
@ -727,9 +727,9 @@ int imx_pinctrl_probe(struct platform_device *pdev,
|
|||
ipctl->dev = info->dev;
|
||||
platform_set_drvdata(pdev, ipctl);
|
||||
ipctl->pctl = pinctrl_register(&imx_pinctrl_desc, &pdev->dev, ipctl);
|
||||
if (!ipctl->pctl) {
|
||||
if (IS_ERR(ipctl->pctl)) {
|
||||
dev_err(&pdev->dev, "could not register IMX pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(ipctl->pctl);
|
||||
}
|
||||
|
||||
dev_info(&pdev->dev, "initialized IMX pinctrl driver\n");
|
||||
|
|
|
@ -633,9 +633,9 @@ int imx1_pinctrl_core_probe(struct platform_device *pdev,
|
|||
ipctl->dev = info->dev;
|
||||
platform_set_drvdata(pdev, ipctl);
|
||||
ipctl->pctl = pinctrl_register(pctl_desc, &pdev->dev, ipctl);
|
||||
if (!ipctl->pctl) {
|
||||
if (IS_ERR(ipctl->pctl)) {
|
||||
dev_err(&pdev->dev, "could not register IMX pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(ipctl->pctl);
|
||||
}
|
||||
|
||||
ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev);
|
||||
|
|
|
@ -540,9 +540,9 @@ int mxs_pinctrl_probe(struct platform_device *pdev,
|
|||
}
|
||||
|
||||
d->pctl = pinctrl_register(&mxs_pinctrl_desc, &pdev->dev, d);
|
||||
if (!d->pctl) {
|
||||
if (IS_ERR(d->pctl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register MXS pinctrl driver\n");
|
||||
ret = -EINVAL;
|
||||
ret = PTR_ERR(d->pctl);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
|
|
@ -1489,9 +1489,9 @@ static int chv_pinctrl_probe(struct platform_device *pdev)
|
|||
pctrl->pctldesc.npins = pctrl->community->npins;
|
||||
|
||||
pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
|
||||
if (!pctrl->pctldev) {
|
||||
if (IS_ERR(pctrl->pctldev)) {
|
||||
dev_err(&pdev->dev, "failed to register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pctrl->pctldev);
|
||||
}
|
||||
|
||||
ret = chv_gpio_probe(pctrl, irq);
|
||||
|
|
|
@ -1021,9 +1021,9 @@ int intel_pinctrl_probe(struct platform_device *pdev,
|
|||
pctrl->pctldesc.npins = pctrl->soc->npins;
|
||||
|
||||
pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
|
||||
if (!pctrl->pctldev) {
|
||||
if (IS_ERR(pctrl->pctldev)) {
|
||||
dev_err(&pdev->dev, "failed to register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pctrl->pctldev);
|
||||
}
|
||||
|
||||
ret = intel_gpio_probe(pctrl, irq);
|
||||
|
|
|
@ -1269,9 +1269,9 @@ int mtk_pctrl_init(struct platform_device *pdev,
|
|||
mtk_pctrl_desc.npins = pctl->devdata->npins;
|
||||
pctl->dev = &pdev->dev;
|
||||
pctl->pctl_dev = pinctrl_register(&mtk_pctrl_desc, &pdev->dev, pctl);
|
||||
if (!pctl->pctl_dev) {
|
||||
if (IS_ERR(pctl->pctl_dev)) {
|
||||
dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pctl->pctl_dev);
|
||||
}
|
||||
|
||||
pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
|
||||
|
|
|
@ -738,9 +738,9 @@ static int meson_pinctrl_probe(struct platform_device *pdev)
|
|||
pc->desc.npins = pc->data->num_pins;
|
||||
|
||||
pc->pcdev = pinctrl_register(&pc->desc, pc->dev, pc);
|
||||
if (!pc->pcdev) {
|
||||
if (IS_ERR(pc->pcdev)) {
|
||||
dev_err(pc->dev, "can't register pinctrl device");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pc->pcdev);
|
||||
}
|
||||
|
||||
ret = meson_gpiolib_register(pc);
|
||||
|
|
|
@ -706,9 +706,9 @@ int mvebu_pinctrl_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
pctl->pctldev = pinctrl_register(&pctl->desc, &pdev->dev, pctl);
|
||||
if (!pctl->pctldev) {
|
||||
if (IS_ERR(pctl->pctldev)) {
|
||||
dev_err(&pdev->dev, "unable to register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pctl->pctldev);
|
||||
}
|
||||
|
||||
dev_info(&pdev->dev, "registered pinctrl driver\n");
|
||||
|
|
|
@ -1235,10 +1235,10 @@ static int abx500_gpio_probe(struct platform_device *pdev)
|
|||
abx500_pinctrl_desc.pins = pct->soc->pins;
|
||||
abx500_pinctrl_desc.npins = pct->soc->npins;
|
||||
pct->pctldev = pinctrl_register(&abx500_pinctrl_desc, &pdev->dev, pct);
|
||||
if (!pct->pctldev) {
|
||||
if (IS_ERR(pct->pctldev)) {
|
||||
dev_err(&pdev->dev,
|
||||
"could not register abx500 pinctrl driver\n");
|
||||
ret = -EINVAL;
|
||||
ret = PTR_ERR(pct->pctldev);
|
||||
goto out_rem_chip;
|
||||
}
|
||||
dev_info(&pdev->dev, "registered pin controller\n");
|
||||
|
|
|
@ -2029,9 +2029,9 @@ static int nmk_pinctrl_probe(struct platform_device *pdev)
|
|||
npct->dev = &pdev->dev;
|
||||
|
||||
npct->pctl = pinctrl_register(&nmk_pinctrl_desc, &pdev->dev, npct);
|
||||
if (!npct->pctl) {
|
||||
if (IS_ERR(npct->pctl)) {
|
||||
dev_err(&pdev->dev, "could not register Nomadik pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(npct->pctl);
|
||||
}
|
||||
|
||||
/* We will handle a range of GPIO pins */
|
||||
|
|
|
@ -1070,9 +1070,9 @@ static int adi_pinctrl_probe(struct platform_device *pdev)
|
|||
|
||||
/* Now register the pin controller and all pins it handles */
|
||||
pinctrl->pctl = pinctrl_register(&adi_pinmux_desc, &pdev->dev, pinctrl);
|
||||
if (!pinctrl->pctl) {
|
||||
if (IS_ERR(pinctrl->pctl)) {
|
||||
dev_err(&pdev->dev, "could not register pinctrl ADI2 driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pinctrl->pctl);
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, pinctrl);
|
||||
|
|
|
@ -789,9 +789,9 @@ static int amd_gpio_probe(struct platform_device *pdev)
|
|||
amd_pinctrl_desc.name = dev_name(&pdev->dev);
|
||||
gpio_dev->pctrl = pinctrl_register(&amd_pinctrl_desc,
|
||||
&pdev->dev, gpio_dev);
|
||||
if (!gpio_dev->pctrl) {
|
||||
if (IS_ERR(gpio_dev->pctrl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(gpio_dev->pctrl);
|
||||
}
|
||||
|
||||
ret = gpiochip_add(&gpio_dev->gc);
|
||||
|
|
|
@ -586,9 +586,9 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
|
|||
as3722_pinctrl_desc.npins = ARRAY_SIZE(as3722_pins_desc);
|
||||
as_pci->pctl = pinctrl_register(&as3722_pinctrl_desc,
|
||||
&pdev->dev, as_pci);
|
||||
if (!as_pci->pctl) {
|
||||
if (IS_ERR(as_pci->pctl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(as_pci->pctl);
|
||||
}
|
||||
|
||||
as_pci->gpio_chip = as3722_gpio_chip;
|
||||
|
|
|
@ -1238,9 +1238,9 @@ static int at91_pinctrl_probe(struct platform_device *pdev)
|
|||
platform_set_drvdata(pdev, info);
|
||||
info->pctl = pinctrl_register(&at91_pinctrl_desc, &pdev->dev, info);
|
||||
|
||||
if (!info->pctl) {
|
||||
if (IS_ERR(info->pctl)) {
|
||||
dev_err(&pdev->dev, "could not register AT91 pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(info->pctl);
|
||||
}
|
||||
|
||||
/* We will handle a range of GPIO pins */
|
||||
|
|
|
@ -337,9 +337,9 @@ int ltq_pinctrl_register(struct platform_device *pdev,
|
|||
info->dev = &pdev->dev;
|
||||
|
||||
info->pctrl = pinctrl_register(desc, &pdev->dev, info);
|
||||
if (!info->pctrl) {
|
||||
if (IS_ERR(info->pctrl)) {
|
||||
dev_err(&pdev->dev, "failed to register LTQ pinmux driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(info->pctrl);
|
||||
}
|
||||
platform_set_drvdata(pdev, info);
|
||||
return 0;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1044,9 +1044,9 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
|
|||
palmas_pinctrl_desc.pins = palmas_pins_desc;
|
||||
palmas_pinctrl_desc.npins = ARRAY_SIZE(palmas_pins_desc);
|
||||
pci->pctl = pinctrl_register(&palmas_pinctrl_desc, &pdev->dev, pci);
|
||||
if (!pci->pctl) {
|
||||
if (IS_ERR(pci->pctl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pci->pctl);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1274,9 +1274,9 @@ static int rockchip_pinctrl_register(struct platform_device *pdev,
|
|||
return ret;
|
||||
|
||||
info->pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, info);
|
||||
if (!info->pctl_dev) {
|
||||
if (IS_ERR(info->pctl_dev)) {
|
||||
dev_err(&pdev->dev, "could not register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(info->pctl_dev);
|
||||
}
|
||||
|
||||
for (bank = 0; bank < info->ctrl->nr_banks; ++bank) {
|
||||
|
|
|
@ -1921,9 +1921,9 @@ static int pcs_probe(struct platform_device *pdev)
|
|||
goto free;
|
||||
|
||||
pcs->pctl = pinctrl_register(&pcs->desc, pcs->dev, pcs);
|
||||
if (!pcs->pctl) {
|
||||
if (IS_ERR(pcs->pctl)) {
|
||||
dev_err(pcs->dev, "could not register single pinctrl driver\n");
|
||||
ret = -EINVAL;
|
||||
ret = PTR_ERR(pcs->pctl);
|
||||
goto free;
|
||||
}
|
||||
|
||||
|
|
|
@ -1737,9 +1737,9 @@ static int st_pctl_probe(struct platform_device *pdev)
|
|||
pctl_desc->name = dev_name(&pdev->dev);
|
||||
|
||||
info->pctl = pinctrl_register(pctl_desc, &pdev->dev, info);
|
||||
if (!info->pctl) {
|
||||
if (IS_ERR(info->pctl)) {
|
||||
dev_err(&pdev->dev, "Failed pinctrl registration\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(info->pctl);
|
||||
}
|
||||
|
||||
for (i = 0; i < info->nbanks; i++)
|
||||
|
|
|
@ -807,9 +807,9 @@ static int tb10x_pinctrl_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
state->pctl = pinctrl_register(&tb10x_pindesc, dev, state);
|
||||
if (!state->pctl) {
|
||||
if (IS_ERR(state->pctl)) {
|
||||
dev_err(dev, "could not register TB10x pin driver\n");
|
||||
ret = -EINVAL;
|
||||
ret = PTR_ERR(state->pctl);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
|
@ -922,9 +922,9 @@ static int tegra_xusb_padctl_probe(struct platform_device *pdev)
|
|||
padctl->desc.owner = THIS_MODULE;
|
||||
|
||||
padctl->pinctrl = pinctrl_register(&padctl->desc, &pdev->dev, padctl);
|
||||
if (!padctl->pinctrl) {
|
||||
if (IS_ERR(padctl->pinctrl)) {
|
||||
dev_err(&pdev->dev, "failed to register pincontrol\n");
|
||||
err = -ENODEV;
|
||||
err = PTR_ERR(padctl->pinctrl);
|
||||
goto reset;
|
||||
}
|
||||
|
||||
|
|
|
@ -703,9 +703,9 @@ int tegra_pinctrl_probe(struct platform_device *pdev,
|
|||
}
|
||||
|
||||
pmx->pctl = pinctrl_register(&tegra_pinctrl_desc, &pdev->dev, pmx);
|
||||
if (!pmx->pctl) {
|
||||
if (IS_ERR(pmx->pctl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pmx->pctl);
|
||||
}
|
||||
|
||||
pinctrl_add_gpio_range(pmx->pctl, &tegra_pinctrl_gpio_range);
|
||||
|
|
|
@ -948,9 +948,9 @@ static int tz1090_pdc_pinctrl_probe(struct platform_device *pdev)
|
|||
return PTR_ERR(pmx->regs);
|
||||
|
||||
pmx->pctl = pinctrl_register(&tz1090_pdc_pinctrl_desc, &pdev->dev, pmx);
|
||||
if (!pmx->pctl) {
|
||||
if (IS_ERR(pmx->pctl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pmx->pctl);
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, pmx);
|
||||
|
|
|
@ -1963,9 +1963,9 @@ static int tz1090_pinctrl_probe(struct platform_device *pdev)
|
|||
return PTR_ERR(pmx->regs);
|
||||
|
||||
pmx->pctl = pinctrl_register(&tz1090_pinctrl_desc, &pdev->dev, pmx);
|
||||
if (!pmx->pctl) {
|
||||
if (IS_ERR(pmx->pctl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pmx->pctl);
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, pmx);
|
||||
|
|
|
@ -1068,9 +1068,9 @@ static int u300_pmx_probe(struct platform_device *pdev)
|
|||
return PTR_ERR(upmx->virtbase);
|
||||
|
||||
upmx->pctl = pinctrl_register(&u300_pmx_desc, &pdev->dev, upmx);
|
||||
if (!upmx->pctl) {
|
||||
if (IS_ERR(upmx->pctl)) {
|
||||
dev_err(&pdev->dev, "could not register U300 pinmux driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(upmx->pctl);
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, upmx);
|
||||
|
|
|
@ -1196,8 +1196,8 @@ static int zynq_pinctrl_probe(struct platform_device *pdev)
|
|||
pctrl->nfuncs = ARRAY_SIZE(zynq_pmux_functions);
|
||||
|
||||
pctrl->pctrl = pinctrl_register(&zynq_desc, &pdev->dev, pctrl);
|
||||
if (!pctrl->pctrl)
|
||||
return -ENOMEM;
|
||||
if (IS_ERR(pctrl->pctrl))
|
||||
return PTR_ERR(pctrl->pctrl);
|
||||
|
||||
platform_set_drvdata(pdev, pctrl);
|
||||
|
||||
|
|
|
@ -906,9 +906,9 @@ int msm_pinctrl_probe(struct platform_device *pdev,
|
|||
msm_pinctrl_desc.pins = pctrl->soc->pins;
|
||||
msm_pinctrl_desc.npins = pctrl->soc->npins;
|
||||
pctrl->pctrl = pinctrl_register(&msm_pinctrl_desc, &pdev->dev, pctrl);
|
||||
if (!pctrl->pctrl) {
|
||||
if (IS_ERR(pctrl->pctrl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pctrl->pctrl);
|
||||
}
|
||||
|
||||
ret = msm_gpio_init(pctrl);
|
||||
|
|
|
@ -776,8 +776,8 @@ static int pmic_gpio_probe(struct platform_device *pdev)
|
|||
state->chip.can_sleep = false;
|
||||
|
||||
state->ctrl = pinctrl_register(pctrldesc, dev, state);
|
||||
if (!state->ctrl)
|
||||
return -ENODEV;
|
||||
if (IS_ERR(state->ctrl))
|
||||
return PTR_ERR(state->ctrl);
|
||||
|
||||
ret = gpiochip_add(&state->chip);
|
||||
if (ret) {
|
||||
|
|
|
@ -890,8 +890,8 @@ static int pmic_mpp_probe(struct platform_device *pdev)
|
|||
state->chip.can_sleep = false;
|
||||
|
||||
state->ctrl = pinctrl_register(pctrldesc, dev, state);
|
||||
if (!state->ctrl)
|
||||
return -ENODEV;
|
||||
if (IS_ERR(state->ctrl))
|
||||
return PTR_ERR(state->ctrl);
|
||||
|
||||
ret = gpiochip_add(&state->chip);
|
||||
if (ret) {
|
||||
|
|
|
@ -822,9 +822,9 @@ static int exynos5440_pinctrl_register(struct platform_device *pdev,
|
|||
return ret;
|
||||
|
||||
pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, priv);
|
||||
if (!pctl_dev) {
|
||||
if (IS_ERR(pctl_dev)) {
|
||||
dev_err(&pdev->dev, "could not register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pctl_dev);
|
||||
}
|
||||
|
||||
grange.name = "exynos5440-pctrl-gpio-range";
|
||||
|
|
|
@ -873,9 +873,9 @@ static int samsung_pinctrl_register(struct platform_device *pdev,
|
|||
return ret;
|
||||
|
||||
drvdata->pctl_dev = pinctrl_register(ctrldesc, &pdev->dev, drvdata);
|
||||
if (!drvdata->pctl_dev) {
|
||||
if (IS_ERR(drvdata->pctl_dev)) {
|
||||
dev_err(&pdev->dev, "could not register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(drvdata->pctl_dev);
|
||||
}
|
||||
|
||||
for (bank = 0; bank < drvdata->nr_banks; ++bank) {
|
||||
|
|
|
@ -625,8 +625,8 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
|
|||
pmx->pctl_desc.npins = pfc->info->nr_pins;
|
||||
|
||||
pmx->pctl = pinctrl_register(&pmx->pctl_desc, pfc->dev, pmx);
|
||||
if (pmx->pctl == NULL)
|
||||
return -EINVAL;
|
||||
if (IS_ERR(pmx->pctl))
|
||||
return PTR_ERR(pmx->pctl);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -310,9 +310,9 @@ static int sirfsoc_pinmux_probe(struct platform_device *pdev)
|
|||
|
||||
/* Now register the pin controller and all pins it handles */
|
||||
spmx->pmx = pinctrl_register(&sirfsoc_pinmux_desc, &pdev->dev, spmx);
|
||||
if (!spmx->pmx) {
|
||||
if (IS_ERR(spmx->pmx)) {
|
||||
dev_err(&pdev->dev, "could not register SIRFSOC pinmux driver\n");
|
||||
ret = -EINVAL;
|
||||
ret = PTR_ERR(spmx->pmx);
|
||||
goto out_no_pmx;
|
||||
}
|
||||
|
||||
|
|
|
@ -396,9 +396,9 @@ int spear_pinctrl_probe(struct platform_device *pdev,
|
|||
spear_pinctrl_desc.npins = machdata->npins;
|
||||
|
||||
pmx->pctl = pinctrl_register(&spear_pinctrl_desc, &pdev->dev, pmx);
|
||||
if (!pmx->pctl) {
|
||||
if (IS_ERR(pmx->pctl)) {
|
||||
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
|
||||
return -ENODEV;
|
||||
return PTR_ERR(pmx->pctl);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -911,9 +911,9 @@ int sunxi_pinctrl_init(struct platform_device *pdev,
|
|||
|
||||
pctl->pctl_dev = pinctrl_register(pctrl_desc,
|
||||
&pdev->dev, pctl);
|
||||
if (!pctl->pctl_dev) {
|
||||
if (IS_ERR(pctl->pctl_dev)) {
|
||||
dev_err(&pdev->dev, "couldn't register pinctrl driver\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(pctl->pctl_dev);
|
||||
}
|
||||
|
||||
pctl->chip = devm_kzalloc(&pdev->dev, sizeof(*pctl->chip), GFP_KERNEL);
|
||||
|
|
|
@ -594,9 +594,9 @@ int wmt_pinctrl_probe(struct platform_device *pdev,
|
|||
data->dev = &pdev->dev;
|
||||
|
||||
data->pctl_dev = pinctrl_register(&wmt_desc, &pdev->dev, data);
|
||||
if (!data->pctl_dev) {
|
||||
if (IS_ERR(data->pctl_dev)) {
|
||||
dev_err(&pdev->dev, "Failed to register pinctrl\n");
|
||||
return -EINVAL;
|
||||
return PTR_ERR(data->pctl_dev);
|
||||
}
|
||||
|
||||
err = gpiochip_add(&data->gpio_chip);
|
||||
|
|
Загрузка…
Ссылка в новой задаче