Lines Matching defs:irqchip

904  * The following is irqchip helper code for gpiochips.
952 * gpiochip_set_cascaded_irqchip() - connects a cascaded irqchip to a gpiochip
953 * @gc: the gpiochip to set the irqchip chain to
955 * cascaded irqchip
968 chip_err(gc, "called %s before setting up irqchip\n",
989 * The parent irqchip is already using the chip_data for this
990 * irqchip, so our callbacks simply use the handler_data.
998 * gpiochip_set_nested_irqchip() - connects a nested irqchip to a gpiochip
999 * @gc: the gpiochip to set the irqchip nested handler to
1000 * @irqchip: the irqchip to nest to the gpiochip
1002 * nested irqchip
1005 struct irq_chip *irqchip,
1015 * gpiochip_set_hierarchical_irqchip() - connects a hierarchical irqchip
1017 * @gc: the gpiochip to set the irqchip hierarchical handler to
1018 * @irqchip: the irqchip to handle this level of the hierarchy, the interrupt
1022 struct irq_chip *irqchip)
1029 * This is for legacy and boardfile "irqchip" fwnodes: allocate
1300 * gpiochip_irq_map() - maps an IRQ into a GPIO irqchip
1301 * @d: the irqdomain used by this irqchip
1302 * @irq: the global irq number used by this GPIO irqchip irq
1306 * gpiochip by assigning the gpiochip as chip data, and using the irqchip
1369 * irqchip implementation as static once SPMI and SSBI (all external
1416 * an IRQ before the irqchip has been properly registered,
1492 struct irq_chip *irqchip = gc->irq.chip;
1494 if (!irqchip->irq_request_resources &&
1495 !irqchip->irq_release_resources) {
1496 irqchip->irq_request_resources = gpiochip_irq_reqres;
1497 irqchip->irq_release_resources = gpiochip_irq_relres;
1501 /* Check if the irqchip already has this hook... */
1502 if (irqchip->irq_enable == gpiochip_irq_enable ||
1503 irqchip->irq_mask == gpiochip_irq_mask) {
1509 "detected irqchip that is shared with multiple gpiochips: please fix the driver.\n");
1513 if (irqchip->irq_disable) {
1514 gc->irq.irq_disable = irqchip->irq_disable;
1515 irqchip->irq_disable = gpiochip_irq_disable;
1517 gc->irq.irq_mask = irqchip->irq_mask;
1518 irqchip->irq_mask = gpiochip_irq_mask;
1521 if (irqchip->irq_enable) {
1522 gc->irq.irq_enable = irqchip->irq_enable;
1523 irqchip->irq_enable = gpiochip_irq_enable;
1525 gc->irq.irq_unmask = irqchip->irq_unmask;
1526 irqchip->irq_unmask = gpiochip_irq_unmask;
1540 struct irq_chip *irqchip = gc->irq.chip;
1546 if (!irqchip)
1634 * gpiochip_irqchip_remove() - removes an irqchip added to a gpiochip
1635 * @gc: the gpiochip to remove the irqchip from
1641 struct irq_chip *irqchip = gc->irq.chip;
1646 if (irqchip && gc->irq.parent_handler) {
1670 if (irqchip) {
1671 if (irqchip->irq_request_resources == gpiochip_irq_reqres) {
1672 irqchip->irq_request_resources = NULL;
1673 irqchip->irq_release_resources = NULL;
1675 if (irqchip->irq_enable == gpiochip_irq_enable) {
1676 irqchip->irq_enable = gc->irq.irq_enable;
1677 irqchip->irq_disable = gc->irq.irq_disable;
1688 * gpiochip_irqchip_add_key() - adds an irqchip to a gpiochip
1689 * @gc: the gpiochip to add the irqchip to
1690 * @irqchip: the irqchip to add to the gpiochip
1694 * @type: the default type for IRQs on this irqchip, pass IRQ_TYPE_NONE
1696 * @threaded: whether this irqchip uses a nested thread handler
1700 * This function closely associates a certain irqchip with a certain
1715 struct irq_chip *irqchip,
1725 if (!gc || !irqchip)
1757 gc->irq.chip = irqchip;
1781 * @gc: the gpiochip to add the irqchip to
3252 * an IRQ before the irqchip has been properly registered,