diff options
| author | Mika Westerberg <mika.westerberg@linux.intel.com> | 2016-09-20 08:15:23 -0400 |
|---|---|---|
| committer | Linus Walleij <linus.walleij@linaro.org> | 2016-09-23 08:59:42 -0400 |
| commit | d1073418d952f6a3557a888ffd666cc8c21362b1 (patch) | |
| tree | 64b980dae02d7bb1e6f80707903831677137b66e /drivers/pinctrl/intel | |
| parent | 47c950d1020226179d278297c85ba6a988ee398b (diff) | |
pinctrl: cherryview: Convert to use devm_gpiochip_add_data()
This simplifies the error handling and allows us to drop the whole
chv_pinctrl_remove() function.
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/intel')
| -rw-r--r-- | drivers/pinctrl/intel/pinctrl-cherryview.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c index d23be3a2fb35..30389f4ccab4 100644 --- a/drivers/pinctrl/intel/pinctrl-cherryview.c +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c | |||
| @@ -1538,7 +1538,7 @@ static int chv_gpio_probe(struct chv_pinctrl *pctrl, int irq) | |||
| 1538 | chip->base = -1; | 1538 | chip->base = -1; |
| 1539 | chip->irq_need_valid_mask = true; | 1539 | chip->irq_need_valid_mask = true; |
| 1540 | 1540 | ||
| 1541 | ret = gpiochip_add_data(chip, pctrl); | 1541 | ret = devm_gpiochip_add_data(pctrl->dev, chip, pctrl); |
| 1542 | if (ret) { | 1542 | if (ret) { |
| 1543 | dev_err(pctrl->dev, "Failed to register gpiochip\n"); | 1543 | dev_err(pctrl->dev, "Failed to register gpiochip\n"); |
| 1544 | return ret; | 1544 | return ret; |
| @@ -1550,7 +1550,7 @@ static int chv_gpio_probe(struct chv_pinctrl *pctrl, int irq) | |||
| 1550 | range->base, range->npins); | 1550 | range->base, range->npins); |
| 1551 | if (ret) { | 1551 | if (ret) { |
| 1552 | dev_err(pctrl->dev, "failed to add GPIO pin range\n"); | 1552 | dev_err(pctrl->dev, "failed to add GPIO pin range\n"); |
| 1553 | goto fail; | 1553 | return ret; |
| 1554 | } | 1554 | } |
| 1555 | 1555 | ||
| 1556 | offset += range->npins; | 1556 | offset += range->npins; |
| @@ -1578,17 +1578,12 @@ static int chv_gpio_probe(struct chv_pinctrl *pctrl, int irq) | |||
| 1578 | handle_bad_irq, IRQ_TYPE_NONE); | 1578 | handle_bad_irq, IRQ_TYPE_NONE); |
| 1579 | if (ret) { | 1579 | if (ret) { |
| 1580 | dev_err(pctrl->dev, "failed to add IRQ chip\n"); | 1580 | dev_err(pctrl->dev, "failed to add IRQ chip\n"); |
| 1581 | goto fail; | 1581 | return ret; |
| 1582 | } | 1582 | } |
| 1583 | 1583 | ||
| 1584 | gpiochip_set_chained_irqchip(chip, &chv_gpio_irqchip, irq, | 1584 | gpiochip_set_chained_irqchip(chip, &chv_gpio_irqchip, irq, |
| 1585 | chv_gpio_irq_handler); | 1585 | chv_gpio_irq_handler); |
| 1586 | return 0; | 1586 | return 0; |
| 1587 | |||
| 1588 | fail: | ||
| 1589 | gpiochip_remove(chip); | ||
| 1590 | |||
| 1591 | return ret; | ||
| 1592 | } | 1587 | } |
| 1593 | 1588 | ||
| 1594 | static int chv_pinctrl_probe(struct platform_device *pdev) | 1589 | static int chv_pinctrl_probe(struct platform_device *pdev) |
| @@ -1656,15 +1651,6 @@ static int chv_pinctrl_probe(struct platform_device *pdev) | |||
| 1656 | return 0; | 1651 | return 0; |
| 1657 | } | 1652 | } |
| 1658 | 1653 | ||
| 1659 | static int chv_pinctrl_remove(struct platform_device *pdev) | ||
| 1660 | { | ||
| 1661 | struct chv_pinctrl *pctrl = platform_get_drvdata(pdev); | ||
| 1662 | |||
| 1663 | gpiochip_remove(&pctrl->chip); | ||
| 1664 | |||
| 1665 | return 0; | ||
| 1666 | } | ||
| 1667 | |||
| 1668 | #ifdef CONFIG_PM_SLEEP | 1654 | #ifdef CONFIG_PM_SLEEP |
| 1669 | static int chv_pinctrl_suspend(struct device *dev) | 1655 | static int chv_pinctrl_suspend(struct device *dev) |
| 1670 | { | 1656 | { |
| @@ -1761,7 +1747,6 @@ MODULE_DEVICE_TABLE(acpi, chv_pinctrl_acpi_match); | |||
| 1761 | 1747 | ||
| 1762 | static struct platform_driver chv_pinctrl_driver = { | 1748 | static struct platform_driver chv_pinctrl_driver = { |
| 1763 | .probe = chv_pinctrl_probe, | 1749 | .probe = chv_pinctrl_probe, |
| 1764 | .remove = chv_pinctrl_remove, | ||
| 1765 | .driver = { | 1750 | .driver = { |
| 1766 | .name = "cherryview-pinctrl", | 1751 | .name = "cherryview-pinctrl", |
| 1767 | .pm = &chv_pinctrl_pm_ops, | 1752 | .pm = &chv_pinctrl_pm_ops, |
