* fix unregister api for gpio
* consumers
* guard with a critical section
* index
* guard less
* unregister under lock
* fix reinit
* dead flag
* fix most tests
* initialize properly
* initialize properly
* assertions in tests
* fix message
* move gpio mocking
* test gpios
* we must lock earlier to be truly safe
* this was using huge memory
* devirtualize
* test deinit
* io_pins: implement efiSetPadUnused
When pin becomes unused it should be switched to safe mode and
disconnected from any IP block. Assume that gpio input mode with
pull-up is safe enough.
* trigger_input: switch triggers pins to safe mode on stop/reinit
* digital_input_exti: rework
* rename enableExti to efiExtiEnablePin
* add efiExtiDisablePin
* keep track of used exti channels
* trigger_input: use digital_input_exti functions