On Mon, Jun 10, 2019 at 7:11 PM Grygorii Strashko <grygorii.strashko@xxxxxx> wrote: > From: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > > The edge interrupt handling was effectively: > > isr = ISR_reg & enabled; > if (bank->level_mask) > level_mask = bank->level_mask & enabled; > else > level_mask = 0; > > edge = isr & ~level_mask; > > When bank->level_mask is zero, level_mask will be computed as zero > anyway, so the if() statement is redundant. We are then left with: > > isr = ISR_reg & enabled; > level_mask = bank->level_mask & enabled; > edge = isr & ~level_mask; > > This can be simplified further to: > > isr = ISR_reg & enabled; > edge = isr & ~bank->level_mask; > > since the second mask with 'enabled' is redundant. > > Improve the associated comment as well. > > Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Patch applied. Yours, Linus Walleij