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, irqchip, parent_irq,
                                      parent_handler);
 }
                                 struct irq_chip *irqchip,
                                 unsigned int parent_irq)
 {
-       if (!gpiochip->irq.nested) {
-               chip_err(gpiochip, "tried to nest a chained gpiochip\n");
-               return;
-       }
        gpiochip_set_cascaded_irqchip(gpiochip, irqchip, parent_irq,
                                      NULL);
 }
        irq_set_lockdep_class(irq, chip->irq.lock_key);
        irq_set_chip_and_handler(irq, chip->irq.chip, chip->irq.handler);
        /* Chips that use nested thread handlers have them marked */
-       if (chip->irq.nested)
+       if (chip->irq.threaded)
                irq_set_nested_thread(irq, 1);
        irq_set_noprobe(irq);
 
 {
        struct gpio_chip *chip = d->host_data;
 
-       if (chip->irq.nested)
+       if (chip->irq.threaded)
                irq_set_nested_thread(irq, 0);
        irq_set_chip_and_handler(irq, NULL, NULL);
        irq_set_chip_data(irq, NULL);
                                                         gpiochip->irq.parent_handler,
                                                         data);
                }
-
-               gpiochip->irq.nested = false;
-       } else {
-               gpiochip->irq.nested = true;
        }
 
        acpi_gpiochip_request_interrupts(gpiochip);
  * @handler: the irq handler to use (often a predefined irq core function)
  * @type: the default type for IRQs on this irqchip, pass IRQ_TYPE_NONE
  * to have the core avoid setting up any default type in the hardware.
- * @nested: whether this is a nested irqchip calling handle_nested_irq()
- * in its IRQ handler
+ * @threaded: whether this irqchip uses a nested thread handler
  * @lock_key: lockdep class
  *
  * This function closely associates a certain irqchip with a certain
                             unsigned int first_irq,
                             irq_flow_handler_t handler,
                             unsigned int type,
-                            bool nested,
+                            bool threaded,
                             struct lock_class_key *lock_key)
 {
        struct device_node *of_node;
                pr_err("missing gpiochip .dev parent pointer\n");
                return -EINVAL;
        }
-       gpiochip->irq.nested = nested;
+       gpiochip->irq.threaded = threaded;
        of_node = gpiochip->parent->of_node;
 #ifdef CONFIG_OF_GPIO
        /*