Previously, GPIO interrupts were not correctly mapped to the peripheral base register responsible for the interrupt. Change the IRQ number calculation so the interrupts work correctly on all GPIO peripheral bases.