TODO: - rework comments and function headers(also coding style) - Move handling for each individual members of 'union message_body' out into a separate 'struct work_struct' and completely remove the multiplexer that is currently part of host_if_work(), allowing movement of the implementation of each message handler into the callsite of the function that currently queues the 'host_if_msg'. - make spi and sdio components coexist in one build - support soft-ap and p2p mode - support resume/suspend function - convert all uses of the old GPIO API from to the GPIO descriptor API in and look up GPIO lines from device tree, ACPI or board files, board files should use