Skip to contentSkip to conversation

gpio/crystalcove: set IRQCHIP_SKIP_SET_WAKE for the irqchip

PATCH In review Aaron Lu 2 participants 2 messages May 28, 2015 – Jun 2, 2015

Subsystems (2)
lore
Share & tools
lore

Aaron Lu

author
#0 lore raw

PATCH 1/1 gpio/crystalcove: set IRQCHIP_SKIP_SET_WAKE for the irqchip

The CrystalCove GPIO irqchip doesn't have irq_set_wake callback defined so we should set IRQCHIP_SKIP_SET_WAKE for it or it would cause an irq desc's wake_depth unbalanced warning during system resume phase from the gpio_keys driver, which is the driver for the power button of the ASUS T100 laptop.

---
 drivers/gpio/gpio-crystalcove.c | 1 +
 1 file changed, 1 insertion(+)
drivers/gpio/gpio-crystalcove.c +1 -0
index 91a7ffe83135..ab457fc00e75 100644
@@ -255,6 +255,7 @@ static struct irq_chip crystalcove_irqchip = {
 	.irq_set_type		= crystalcove_irq_type,
 	.irq_bus_lock		= crystalcove_bus_lock,
 	.irq_bus_sync_unlock	= crystalcove_bus_sync_unlock,
+	.flags			= IRQCHIP_SKIP_SET_WAKE,
 };
 
 static irqreturn_t crystalcove_gpio_irq_handler(int irq, void *data)
Signature · 1 line
2.4.1
#1 lore raw
Quoted 8 lines · Aaron Lu

The CrystalCove GPIO irqchip doesn't have irq_set_wake callback defined so we should set IRQCHIP_SKIP_SET_WAKE for it or it would cause an irq desc's wake_depth unbalanced warning during system resume phase from the gpio_keys driver, which is the driver for the power button of the ASUS T100 laptop.

Patch applied.

Yours,
Linus Walleij