Hi Linus, > >> + switch (mvchip->soc_variant) { >> + case MVEBU_GPIO_SOC_VARIANT_ORION: >> + mvchip->edge_mask_regs[0] = >> + readl(mvchip->membase + GPIO_EDGE_MASK_OFF); >> + mvchip->level_mask_regs[0] = >> + readl(mvchip->membase + GPIO_LEVEL_MASK_OFF); >> + break; > > You are assigning index [0] twice, why? There must be some > reason, and it should be stated in a comment. If the first read > is necessary for hardware reasons, don't assign it but > discard the result. Maybe I missed something but for me these 2 registers are different: one is the _EDGE_ mask and the other the _LEVEL_ mask. Gregory -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html