Re: [PATCH v3 04/10] adapter: Read device class in storage at init

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

 



Hi Fred,

>  src/adapter.c |   21 ++++++++++++---------
>  1 file changed, 12 insertions(+), 9 deletions(-)
> 
> diff --git a/src/adapter.c b/src/adapter.c
> index 8b9af28..93dc0fb 100644
> --- a/src/adapter.c
> +++ b/src/adapter.c
> @@ -117,6 +117,7 @@ struct service_auth {
>  
>  struct btd_adapter_config {
>  	char *name;
> +	uint8_t class[3];
>  };

same as the other one. Directly in btd_adapter if you ask me.

>  
>  struct btd_adapter {
> @@ -729,6 +730,10 @@ void btd_adapter_class_changed(struct btd_adapter *adapter, uint8_t *new_class)
>  	if (class == adapter->dev_class)
>  		return;
>  
> +	adapter->config.class[0] = new_class[0];
> +	adapter->config.class[1] = new_class[1];
> +	adapter->config.class[2] = new_class[2];
> +
>  	write_local_class(&adapter->bdaddr, new_class);

Is this still needed this way. Should not just say, store_adapter_info
or something alike.

>  
>  	adapter->dev_class = class;
> @@ -2353,15 +2358,8 @@ void btd_adapter_get_mode(struct btd_adapter *adapter, uint8_t *mode,
>  void btd_adapter_read_class(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->config.class[1];
> +	*minor = adapter->config.class[0];
>  }

Actually this is no longer read_class, this would be get_major_minor.

>  
>  uint32_t btd_adapter_get_class(struct btd_adapter *adapter)
> @@ -2694,6 +2692,11 @@ static void load_config(struct btd_adapter *adapter)
>  	else
>  		adapter->config.name = g_strdup(name);
>  
> +	/* Get class */
> +	if (read_local_class(&adapter->bdaddr, adapter->config.class) < 0) {
> +		uint32_t class = htobl(main_opts.class);
> +		memcpy(adapter->config.class, &class, 3);
> +	}
>  }

I really want to open the file once and read it all at once. Multiple
reads seem to be wrong.

Regards

Marcel


--
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