Как-то раз я ковырял device tree и оверлеи. Это был BeagleBoard с Ubuntu. Долго ковырял. Потом сдался, сделал тупо по мануалу и забыл как страшный сон.
Битовые поля специфичны для компилятора и потому не рекомендуются. В частности, там могут возникнуть те самые проблемы с выравниванием, которые мы недавно обсуждали.