This patch enables us to implement more I/O layers, particularly non-HCI ones. As of Bluetooth 5.1, standard HCI commands don't allow precise control over mesh-related advertising, making this I/O layer very inefficient. Therefore, it is desirable to have an option to use a non-HCI transport to talk to radio transceiver, at least until Bluetooth extends HCI so that standard BLE Controllers achieve good performance. Another use case would be a non-local radio: the mesh stack can run on a secure device, but due to physical constraints it might need to use radio transceiver located at a distance, connected e.g. via LAN. Michał Lowas-Rzechonek (1): mesh: Move HCI handling to mesh-io-generic mesh/main.c | 4 +- mesh/mesh-io-api.h | 3 +- mesh/mesh-io-generic.c | 203 ++++++++++++++++++++++++++++++++++++----- mesh/mesh-io.c | 17 ++-- mesh/mesh-io.h | 2 +- mesh/mesh.c | 189 +++----------------------------------- mesh/mesh.h | 4 +- 7 files changed, 209 insertions(+), 213 deletions(-) -- 2.19.1