mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
gpio: stmpe: Fix forgotten refactoring
We actually handle the gpio_irq_chip set-up properly now despite what the comment says. Also assign this pointer along with the rest of the gpio_irq_chip setup code. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20201019134429.65563-1-linus.walleij@linaro.org
This commit is contained in:
@@ -538,8 +538,8 @@ these helpers, we can set .irq.need_valid_mask of the gpiochip before
|
|||||||
devm_gpiochip_add_data() or gpiochip_add_data() is called. This allocates an
|
devm_gpiochip_add_data() or gpiochip_add_data() is called. This allocates an
|
||||||
.irq.valid_mask with as many bits set as there are GPIO lines in the chip, each
|
.irq.valid_mask with as many bits set as there are GPIO lines in the chip, each
|
||||||
bit representing line 0..n-1. Drivers can exclude GPIO lines by clearing bits
|
bit representing line 0..n-1. Drivers can exclude GPIO lines by clearing bits
|
||||||
from this mask. The mask must be filled in before gpiochip_irqchip_add() or
|
from this mask. The mask can be filled in the init_valid_mask() callback
|
||||||
gpiochip_irqchip_add_nested() is called.
|
that is part of the struct gpio_irq_chip.
|
||||||
|
|
||||||
To use the helpers please keep the following in mind:
|
To use the helpers please keep the following in mind:
|
||||||
|
|
||||||
|
@@ -474,15 +474,6 @@ static int stmpe_gpio_probe(struct platform_device *pdev)
|
|||||||
stmpe_gpio->chip.parent = &pdev->dev;
|
stmpe_gpio->chip.parent = &pdev->dev;
|
||||||
stmpe_gpio->chip.of_node = np;
|
stmpe_gpio->chip.of_node = np;
|
||||||
stmpe_gpio->chip.base = -1;
|
stmpe_gpio->chip.base = -1;
|
||||||
/*
|
|
||||||
* REVISIT: this makes sure the valid mask gets allocated and
|
|
||||||
* filled in when adding the gpio_chip, but the rest of the
|
|
||||||
* gpio_irqchip is still filled in using the old method
|
|
||||||
* in gpiochip_irqchip_add_nested() so clean this up once we
|
|
||||||
* get the gpio_irqchip to initialize while adding the
|
|
||||||
* gpio_chip also for threaded irqchips.
|
|
||||||
*/
|
|
||||||
stmpe_gpio->chip.irq.init_valid_mask = stmpe_init_irq_valid_mask;
|
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_DEBUG_FS))
|
if (IS_ENABLED(CONFIG_DEBUG_FS))
|
||||||
stmpe_gpio->chip.dbg_show = stmpe_dbg_show;
|
stmpe_gpio->chip.dbg_show = stmpe_dbg_show;
|
||||||
@@ -520,6 +511,7 @@ static int stmpe_gpio_probe(struct platform_device *pdev)
|
|||||||
girq->default_type = IRQ_TYPE_NONE;
|
girq->default_type = IRQ_TYPE_NONE;
|
||||||
girq->handler = handle_simple_irq;
|
girq->handler = handle_simple_irq;
|
||||||
girq->threaded = true;
|
girq->threaded = true;
|
||||||
|
girq->init_valid_mask = stmpe_init_irq_valid_mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = gpiochip_add_data(&stmpe_gpio->chip, stmpe_gpio);
|
ret = gpiochip_add_data(&stmpe_gpio->chip, stmpe_gpio);
|
||||||
|
Reference in New Issue
Block a user