This function was a duplication of the existing gpio_init_mux,
where the exiting function is the more general one, as the mux
inititalization is not only valid for the sercom module...
The interrupt flag for a previously configured external gpio interrupt
will be set regardless of the actual configuration. So when another source
causes an interrupt, the callback of a disabled gpio interrupt will be serviced
although it was disabled if the interrupt occured in the meantime.
- removed the __attribute__((naked)) from ISRs
- removed ISR_ENTER() and ISR_EXIT() macros
Rationale: Cortex-Mx MCUs save registers R0-R4 automatically
on calling ISRs. The naked attribute tells the compiler not
to save any other registers. This is fine, as long as the
code in the ISR is not nested. If nested, it will use also
R4 and R5, which will then lead to currupted registers on
exit of the ISR. Removing the naked will fix this.