aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/bluetooth/mgmt.h
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2014-07-06 12:11:15 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2014-07-06 13:42:20 +0300
commit9713c17b086c1ebfe34ea4d34147a778276e2dab (patch)
tree2e5dcc1d74effed93b919b8b3c617e937d7292e5 /include/net/bluetooth/mgmt.h
parentBluetooth: Run controller setup after external configuration (diff)
downloadlinux-dev-9713c17b086c1ebfe34ea4d34147a778276e2dab.tar.xz
linux-dev-9713c17b086c1ebfe34ea4d34147a778276e2dab.zip
Bluetooth: Add support for changing the public device address
This adds support for changing the public device address. This feature is required by controllers that do not provide a public address and have HCI_QUIRK_INVALID_BDADDR set. Even if a controller has a public device address, this is useful when an embedded system wants to use its own value. As long as the driver provides the set_bdaddr callback, this allows changing the device address before powering on the controller. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'include/net/bluetooth/mgmt.h')
-rw-r--r--include/net/bluetooth/mgmt.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h
index 80606d2fe086..623d5203c592 100644
--- a/include/net/bluetooth/mgmt.h
+++ b/include/net/bluetooth/mgmt.h
@@ -489,6 +489,12 @@ struct mgmt_cp_set_external_config {
} __packed;
#define MGMT_SET_EXTERNAL_CONFIG_SIZE 1
+#define MGMT_OP_SET_PUBLIC_ADDRESS 0x0039
+struct mgmt_cp_set_public_address {
+ bdaddr_t bdaddr;
+} __packed;
+#define MGMT_SET_PUBLIC_ADDRESS_SIZE 6
+
#define MGMT_EV_CMD_COMPLETE 0x0001
struct mgmt_ev_cmd_complete {
__le16 opcode;