Более сжато это формулируется так: с библиотечной имплементацией парадигмы gpio_init эмбедеру-прикладнику жить нельзя, пусть ею пользуются сами библиотечные функции более высокого уровня, это из право и в рот им ноги. Для вас же парадигма побитового gpio_init это первый первейший кандидат на сразунах. Реализуйте своё, и бесплатным бонусом будет понимание работы регистров портов.
Далее захотите сделать подобное с таймерами и т.д.