+ if (bank->dbck_enable_mask != 0) {
+ reg = bank->base + bank->regs->debounce_en;
+ __raw_writel(bank->dbck_enable_mask, reg);
+ /* clear irqs that could come from glitches
+ * because debounce was disabled */
+ reg = bank->base + bank->regs->irqstatus;
+ gen = __raw_readl(reg) & ~bank->saved_irqstatus;
+ reg = bank->base + bank->regs->datain;
+ l = __raw_readl(reg) ^ bank->saved_datain;
+ l = gen & ~l;
+ l = l & bank->dbck_enable_mask & ~bank->level_mask;
+ if (l)
+ _clear_gpio_irqbank(bank, l);
+ }
+