board-m3-reff16.c updates and tweaks

Enable USBa
Wifi test
doh!
[TLBB] Turn on the internal WiFi USB Dongle. (The proper way)
[TLBB] Remove resolution from bootparams again
Try again :(
[TLBB] Make use of the new USB delay quirk
USB might miss packets, so set to 40ms USB HID idle rate
[TLBB] Allow IR810 driver to be included
[TLBB] Implement recovery defconfig
[TLBB] Enable SPI again
[TLBB] Turn on SPI_NOR for recovery
[TLBB] Boardfile changes
[TLBB] Prepare for TLBB recovery system
[TLBB] Update defconfig
[TLBB] Remove some Android stuff
[TLBB] Change back partition table
[TLBB] Update recovery defconfig
[TLBB] Board changes
[TLBB] defconfig wifi changes
wifi power
[TLBB] Finish GPIO power settings
[PATCH 1/3] block: prepare I/O context code for BFQ

BFQ uses struct cfq_io_context to store its per-process per-device data,
reusing the same code for cic handling of CFQ.  The code is not shared
ATM to minimize the impact of these patches.

This patch introduces a new hlist to each io_context to store all the
cic's allocated by BFQ to allow calling the right destructor on module
unload; the radix tree used for cic lookup needs to be duplicated
because it can contain dead keys inserted by a scheduler and later
retrieved by the other one.

Update the io_context exit and free paths to take care also of
the BFQ cic's.

Change the type of cfqq inside struct cfq_io_context to void *
to use it also for BFQ per-queue data.

A new bfq-specific ioprio_changed field is necessary, too, to avoid
clobbering cfq's one, so switch ioprio_changed to a bitmap, with one
element per scheduler.