summaryrefslogtreecommitdiffstats
path: root/hcid/device.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2006-02-23 19:46:08 +0000
committerMarcel Holtmann <marcel@holtmann.org>2006-02-23 19:46:08 +0000
commit0fe4da23f22cf74624a4576fb879d6dd500dfc5c (patch)
treef91c70935d746be05ccb4cec56c3785207ee7dc5 /hcid/device.c
parent612dd53c6c324bad414b67465f77a54e4da840a2 (diff)
Add revision information for Broadcom chips
Diffstat (limited to 'hcid/device.c')
-rw-r--r--hcid/device.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hcid/device.c b/hcid/device.c
index c52730b4..25089fb4 100644
--- a/hcid/device.c
+++ b/hcid/device.c
@@ -72,6 +72,7 @@ struct hci_conn {
struct hci_dev {
bdaddr_t bdaddr;
uint8_t features[8];
+ uint8_t hci_rev;
uint8_t lmp_ver;
uint16_t lmp_subver;
uint16_t manufacturer;
@@ -174,6 +175,7 @@ int start_device(uint16_t dev_id)
return -errno;
}
+ dev->hci_rev = ver.hci_rev;
dev->lmp_ver = ver.lmp_ver;
dev->lmp_subver = ver.lmp_subver;
dev->manufacturer = ver.manufacturer;
@@ -307,6 +309,11 @@ int get_device_revision(uint16_t dev_id, char *revision, size_t size)
case 12:
err = digi_revision(dev_id, revision, size);
break;
+ case 15:
+ err = snprintf(revision, size, "%d.%d / %d",
+ dev->hci_rev & 0xff,
+ dev->lmp_subver >> 8, dev->lmp_subver & 0xff);
+ break;
default:
err = snprintf(revision, size, "0x%02x", dev->lmp_subver);
break;