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 <linux/gpio.h> to the
  GPIO descriptor API in <linux/gpio/consumer.h> and look up GPIO
  lines from device tree, ACPI or board files, board files should
  use <linux/gpio/machine.h>
