gpio: Drop the chained IRQ handler assign function
gpiochip_set_chained_irqchip() would assign a chained handler to a GPIO chip. We now populate struct gpio_irq_chip for all chained GPIO irqchips so drop this function. Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20200113220800.77817-1-linus.walleij@linaro.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
eec6d97d6d
commit
72780ce5f1
|
@ -507,11 +507,6 @@ available but we try to move away from this:
|
||||||
cascaded irq has to be handled by a threaded interrupt handler.
|
cascaded irq has to be handled by a threaded interrupt handler.
|
||||||
Apart from that it works exactly like the chained irqchip.
|
Apart from that it works exactly like the chained irqchip.
|
||||||
|
|
||||||
- DEPRECATED: gpiochip_set_chained_irqchip(): sets up a chained cascaded irq
|
|
||||||
handler for a gpio_chip from a parent IRQ and passes the struct gpio_chip*
|
|
||||||
as handler data. Notice that we pass is as the handler data, since the
|
|
||||||
irqchip data is likely used by the parent irqchip.
|
|
||||||
|
|
||||||
- gpiochip_set_nested_irqchip(): sets up a nested cascaded irq handler for a
|
- gpiochip_set_nested_irqchip(): sets up a nested cascaded irq handler for a
|
||||||
gpio_chip from a parent IRQ. As the parent IRQ has usually been
|
gpio_chip from a parent IRQ. As the parent IRQ has usually been
|
||||||
explicitly requested by the driver, this does very little more than
|
explicitly requested by the driver, this does very little more than
|
||||||
|
|
|
@ -253,8 +253,7 @@ mediatek_gpio_bank_probe(struct device *dev,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Directly request the irq here instead of passing
|
* Directly request the irq here instead of passing
|
||||||
* a flow-handler to gpiochip_set_chained_irqchip,
|
* a flow-handler because the irq is shared.
|
||||||
* because the irq is shared.
|
|
||||||
*/
|
*/
|
||||||
ret = devm_request_irq(dev, mtk->gpio_irq,
|
ret = devm_request_irq(dev, mtk->gpio_irq,
|
||||||
mediatek_gpio_irq_handler, IRQF_SHARED,
|
mediatek_gpio_irq_handler, IRQF_SHARED,
|
||||||
|
|
|
@ -251,8 +251,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Directly request the irq here instead of passing
|
* Directly request the irq here instead of passing
|
||||||
* a flow-handler to gpiochip_set_chained_irqchip,
|
* a flow-handler because the irq is shared.
|
||||||
* because the irq is shared.
|
|
||||||
*/
|
*/
|
||||||
ret = devm_request_irq(dev, irq, iproc_gpio_irq_handler,
|
ret = devm_request_irq(dev, irq, iproc_gpio_irq_handler,
|
||||||
IRQF_SHARED, chip->gc.label, &chip->gc);
|
IRQF_SHARED, chip->gc.label, &chip->gc);
|
||||||
|
|
|
@ -1805,7 +1805,7 @@ EXPORT_SYMBOL_GPL(gpiochip_irqchip_irq_valid);
|
||||||
* gpiochip_set_cascaded_irqchip() - connects a cascaded irqchip to a gpiochip
|
* gpiochip_set_cascaded_irqchip() - connects a cascaded irqchip to a gpiochip
|
||||||
* @gc: the gpiochip to set the irqchip chain to
|
* @gc: the gpiochip to set the irqchip chain to
|
||||||
* @parent_irq: the irq number corresponding to the parent IRQ for this
|
* @parent_irq: the irq number corresponding to the parent IRQ for this
|
||||||
* chained irqchip
|
* cascaded irqchip
|
||||||
* @parent_handler: the parent interrupt handler for the accumulated IRQ
|
* @parent_handler: the parent interrupt handler for the accumulated IRQ
|
||||||
* coming out of the gpiochip. If the interrupt is nested rather than
|
* coming out of the gpiochip. If the interrupt is nested rather than
|
||||||
* cascaded, pass NULL in this handler argument
|
* cascaded, pass NULL in this handler argument
|
||||||
|
@ -1847,29 +1847,6 @@ static void gpiochip_set_cascaded_irqchip(struct gpio_chip *gc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* gpiochip_set_chained_irqchip() - connects a chained irqchip to a gpiochip
|
|
||||||
* @gpiochip: the gpiochip to set the irqchip chain to
|
|
||||||
* @irqchip: the irqchip to chain to the gpiochip
|
|
||||||
* @parent_irq: the irq number corresponding to the parent IRQ for this
|
|
||||||
* chained irqchip
|
|
||||||
* @parent_handler: the parent interrupt handler for the accumulated IRQ
|
|
||||||
* coming out of the gpiochip.
|
|
||||||
*/
|
|
||||||
void gpiochip_set_chained_irqchip(struct gpio_chip *gpiochip,
|
|
||||||
struct irq_chip *irqchip,
|
|
||||||
unsigned int parent_irq,
|
|
||||||
irq_flow_handler_t parent_handler)
|
|
||||||
{
|
|
||||||
if (gpiochip->irq.threaded) {
|
|
||||||
chip_err(gpiochip, "tried to chain a threaded gpiochip\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
gpiochip_set_cascaded_irqchip(gpiochip, parent_irq, parent_handler);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(gpiochip_set_chained_irqchip);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gpiochip_set_nested_irqchip() - connects a nested irqchip to a gpiochip
|
* gpiochip_set_nested_irqchip() - connects a nested irqchip to a gpiochip
|
||||||
* @gpiochip: the gpiochip to set the irqchip nested handler to
|
* @gpiochip: the gpiochip to set the irqchip nested handler to
|
||||||
|
|
|
@ -585,11 +585,6 @@ int gpiochip_irq_domain_activate(struct irq_domain *domain,
|
||||||
void gpiochip_irq_domain_deactivate(struct irq_domain *domain,
|
void gpiochip_irq_domain_deactivate(struct irq_domain *domain,
|
||||||
struct irq_data *data);
|
struct irq_data *data);
|
||||||
|
|
||||||
void gpiochip_set_chained_irqchip(struct gpio_chip *gpiochip,
|
|
||||||
struct irq_chip *irqchip,
|
|
||||||
unsigned int parent_irq,
|
|
||||||
irq_flow_handler_t parent_handler);
|
|
||||||
|
|
||||||
void gpiochip_set_nested_irqchip(struct gpio_chip *gpiochip,
|
void gpiochip_set_nested_irqchip(struct gpio_chip *gpiochip,
|
||||||
struct irq_chip *irqchip,
|
struct irq_chip *irqchip,
|
||||||
unsigned int parent_irq);
|
unsigned int parent_irq);
|
||||||
|
|
Loading…
Reference in New Issue