diff options
| author | Linus Walleij <linus.walleij@linaro.org> | 2019-11-03 17:38:39 -0500 |
|---|---|---|
| committer | Linus Walleij <linus.walleij@linaro.org> | 2019-11-03 17:38:39 -0500 |
| commit | 806766af3909258ccab74265e33ce8afd21af952 (patch) | |
| tree | d868b17c82f35ef082a91d0a6917b1f2aa2fd4d6 /drivers/gpio | |
| parent | 459f7cb9a3b90b1574acc001ad1f6bf5bb748ac7 (diff) | |
Revert "gpio: merrifield: Move hardware initialization to callback"
This reverts commit 4c87540940cbc7ddbe9674087919c605fd5c2ef1.
This revert is a prerequisite for the later revert of commit
8f86a5b4ad679e4836733b47414226074eee4e4d.
Reported-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
| -rw-r--r-- | drivers/gpio/gpio-merrifield.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpio/gpio-merrifield.c b/drivers/gpio/gpio-merrifield.c index 2f1e9da81c1e..9596024c9161 100644 --- a/drivers/gpio/gpio-merrifield.c +++ b/drivers/gpio/gpio-merrifield.c | |||
| @@ -362,9 +362,8 @@ static void mrfld_irq_handler(struct irq_desc *desc) | |||
| 362 | chained_irq_exit(irqchip, desc); | 362 | chained_irq_exit(irqchip, desc); |
| 363 | } | 363 | } |
| 364 | 364 | ||
| 365 | static int mrfld_irq_init_hw(struct gpio_chip *chip) | 365 | static void mrfld_irq_init_hw(struct mrfld_gpio *priv) |
| 366 | { | 366 | { |
| 367 | struct mrfld_gpio *priv = gpiochip_get_data(chip); | ||
| 368 | void __iomem *reg; | 367 | void __iomem *reg; |
| 369 | unsigned int base; | 368 | unsigned int base; |
| 370 | 369 | ||
| @@ -376,8 +375,6 @@ static int mrfld_irq_init_hw(struct gpio_chip *chip) | |||
| 376 | reg = gpio_reg(&priv->chip, base, GFER); | 375 | reg = gpio_reg(&priv->chip, base, GFER); |
| 377 | writel(0, reg); | 376 | writel(0, reg); |
| 378 | } | 377 | } |
| 379 | |||
| 380 | return 0; | ||
| 381 | } | 378 | } |
| 382 | 379 | ||
| 383 | static const char *mrfld_gpio_get_pinctrl_dev_name(struct mrfld_gpio *priv) | 380 | static const char *mrfld_gpio_get_pinctrl_dev_name(struct mrfld_gpio *priv) |
| @@ -450,7 +447,6 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id | |||
| 450 | 447 | ||
| 451 | girq = &priv->chip.irq; | 448 | girq = &priv->chip.irq; |
| 452 | girq->chip = &mrfld_irqchip; | 449 | girq->chip = &mrfld_irqchip; |
| 453 | girq->init_hw = mrfld_irq_init_hw; | ||
| 454 | girq->parent_handler = mrfld_irq_handler; | 450 | girq->parent_handler = mrfld_irq_handler; |
| 455 | girq->num_parents = 1; | 451 | girq->num_parents = 1; |
| 456 | girq->parents = devm_kcalloc(&pdev->dev, girq->num_parents, | 452 | girq->parents = devm_kcalloc(&pdev->dev, girq->num_parents, |
| @@ -463,6 +459,8 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id | |||
| 463 | girq->default_type = IRQ_TYPE_NONE; | 459 | girq->default_type = IRQ_TYPE_NONE; |
| 464 | girq->handler = handle_bad_irq; | 460 | girq->handler = handle_bad_irq; |
| 465 | 461 | ||
| 462 | mrfld_irq_init_hw(priv); | ||
| 463 | |||
| 466 | pci_set_drvdata(pdev, priv); | 464 | pci_set_drvdata(pdev, priv); |
| 467 | retval = devm_gpiochip_add_data(&pdev->dev, &priv->chip, priv); | 465 | retval = devm_gpiochip_add_data(&pdev->dev, &priv->chip, priv); |
| 468 | if (retval) { | 466 | if (retval) { |
