mirror of https://gitee.com/openkylin/linux.git
Bluetooth: Add BT_CHANNEL_POLICY socket option
Allow control of AMP functionality on L2CAP sockets. By default, connections will be restricted to BR/EDR. Manipulating the BT_CHANNEL_POLICY option allows for channels to be moved to or created on AMP controllers. Signed-off-by: Mat Martineau <mathewm@codeaurora.org> Acked-by: Marcel Holtmann <marcel@holtmann.org> Acked-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
parent
6b3c710467
commit
c14968b0c1
|
@ -77,6 +77,33 @@ struct bt_power {
|
||||||
#define BT_POWER_FORCE_ACTIVE_OFF 0
|
#define BT_POWER_FORCE_ACTIVE_OFF 0
|
||||||
#define BT_POWER_FORCE_ACTIVE_ON 1
|
#define BT_POWER_FORCE_ACTIVE_ON 1
|
||||||
|
|
||||||
|
#define BT_CHANNEL_POLICY 10
|
||||||
|
|
||||||
|
/* BR/EDR only (default policy)
|
||||||
|
* AMP controllers cannot be used.
|
||||||
|
* Channel move requests from the remote device are denied.
|
||||||
|
* If the L2CAP channel is currently using AMP, move the channel to BR/EDR.
|
||||||
|
*/
|
||||||
|
#define BT_CHANNEL_POLICY_BREDR_ONLY 0
|
||||||
|
|
||||||
|
/* BR/EDR Preferred
|
||||||
|
* Allow use of AMP controllers.
|
||||||
|
* If the L2CAP channel is currently on AMP, move it to BR/EDR.
|
||||||
|
* Channel move requests from the remote device are allowed.
|
||||||
|
*/
|
||||||
|
#define BT_CHANNEL_POLICY_BREDR_PREFERRED 1
|
||||||
|
|
||||||
|
/* AMP Preferred
|
||||||
|
* Allow use of AMP controllers
|
||||||
|
* If the L2CAP channel is currently on BR/EDR and AMP controller
|
||||||
|
* resources are available, initiate a channel move to AMP.
|
||||||
|
* Channel move requests from the remote device are allowed.
|
||||||
|
* If the L2CAP socket has not been connected yet, try to create
|
||||||
|
* and configure the channel directly on an AMP controller rather
|
||||||
|
* than BR/EDR.
|
||||||
|
*/
|
||||||
|
#define BT_CHANNEL_POLICY_AMP_PREFERRED 2
|
||||||
|
|
||||||
__attribute__((format (printf, 2, 3)))
|
__attribute__((format (printf, 2, 3)))
|
||||||
int bt_printk(const char *level, const char *fmt, ...);
|
int bt_printk(const char *level, const char *fmt, ...);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue