[PATCH v7 04/16] adapter: Remove device class storage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 src/adapter.c |   18 +++++-------------
 src/adapter.h |    2 +-
 src/mgmt.c    |    2 +-
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/src/adapter.c b/src/adapter.c
index 6333837..310d1cf 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -756,8 +756,6 @@ void btd_adapter_class_changed(struct btd_adapter *adapter, uint8_t *new_class)
 	if (class == adapter->dev_class)
 		return;
 
-	write_local_class(&adapter->bdaddr, new_class);
-
 	adapter->dev_class = class;
 
 	if (main_opts.gatt_enabled) {
@@ -2169,18 +2167,11 @@ void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode,
 		*pairable = adapter->pairable;
 }
 
-void btd_adapter_read_class(struct btd_adapter *adapter, uint8_t *major,
+void btd_adapter_get_major_minor(struct btd_adapter *adapter, uint8_t *major,
 								uint8_t *minor)
 {
-	uint8_t cls[3];
-
-	if (read_local_class(&adapter->bdaddr, cls) < 0) {
-		uint32_t class = htobl(main_opts.class);
-		memcpy(cls, &class, 3);
-	}
-
-	*major = cls[1];
-	*minor = cls[0];
+	*major = (adapter->dev_class >> 8) & 0xFF;
+	*minor = adapter->dev_class & 0xFF;
 }
 
 uint32_t btd_adapter_get_class(struct btd_adapter *adapter)
@@ -2249,7 +2240,6 @@ void btd_adapter_start(struct btd_adapter *adapter)
 
 	ba2str(&adapter->bdaddr, address);
 
-	adapter->dev_class = 0;
 	adapter->off_requested = FALSE;
 	adapter->up = TRUE;
 	adapter->discov_timeout = get_discoverable_timeout(address);
@@ -2507,6 +2497,8 @@ static void load_config(struct btd_adapter *adapter)
 	else
 		adapter->name = g_strdup(name);
 
+	/* Set class */
+	adapter->dev_class = main_opts.class;
 }
 
 gboolean adapter_init(struct btd_adapter *adapter, gboolean up)
diff --git a/src/adapter.h b/src/adapter.h
index d53c658..be69781 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -85,7 +85,7 @@ void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode,
 						uint16_t *discoverable_timeout,
 						gboolean *pairable);
 
-void btd_adapter_read_class(struct btd_adapter *adapter, uint8_t *major,
+void btd_adapter_get_major_minor(struct btd_adapter *adapter, uint8_t *major,
 							uint8_t *minor);
 
 uint32_t btd_adapter_get_class(struct btd_adapter *adapter);
diff --git a/src/mgmt.c b/src/mgmt.c
index bef66cd..f179dfa 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -1105,7 +1105,7 @@ static void read_info_complete(int sk, uint16_t index, void *buf, size_t len)
 	else
 		adapter_name_changed(adapter, (char *) rp->name);
 
-	btd_adapter_read_class(adapter, &major, &minor);
+	btd_adapter_get_major_minor(adapter, &major, &minor);
 	mgmt_set_dev_class(index, major, minor);
 
 	btd_adapter_get_mode(adapter, &mode, NULL, NULL, NULL);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux