Re: [PATCH 1/5] android/hidhost: Add idle time callback implementation

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

 



On Tuesday 18 February 2014 11:05:20 Szymon Janc wrote:
> Although this callback is for deprecated functionality and
> corresponding notification is never send by daemon it should be
> implemented for library and IPC completeness.
> ---
>  android/hal-hidhost.c   | 14 ++++++++++++++
>  android/hal-ipc-api.txt | 10 ++++++++--
>  android/hal-msg.h       | 11 +++++++++--
>  3 files changed, 31 insertions(+), 4 deletions(-)
> 
> diff --git a/android/hal-hidhost.c b/android/hal-hidhost.c
> index fd3ad2d..dcaf996 100644
> --- a/android/hal-hidhost.c
> +++ b/android/hal-hidhost.c
> @@ -69,6 +69,15 @@ static void handle_proto_mode(void *buf, uint16_t len)
>  							ev->status, ev->mode);
>  }
> 
> +static void handle_idle_time(void *buf, uint16_t len)
> +{
> +	struct hal_ev_hidhost_idle_time *ev = buf;
> +
> +	if (cbacks->idle_time_cb)
> +		cbacks->idle_time_cb((bt_bdaddr_t *) ev->bdaddr, ev->status,
> +								ev->idle_rate);
> +}
> +
>  static void handle_get_report(void *buf, uint16_t len)
>  {
>  	struct hal_ev_hidhost_get_report *ev = buf;
> @@ -110,6 +119,11 @@ static const struct hal_ipc_handler ev_handlers[] = {
>  		.var_len = false,
>  		.data_len = sizeof(struct hal_ev_hidhost_proto_mode),
>  	},
> +	{	/* HAL_EV_HIDHOST_IDLE_TIME */
> +		.handler = handle_idle_time,
> +		.var_len = false,
> +		.data_len = sizeof(struct hal_ev_hidhost_idle_time),
> +	},
>  	{	/* HAL_EV_HIDHOST_GET_REPORT */
>  		.handler = handle_get_report,
>  		.var_len = true,
> diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
> index ee3bd76..22dd50d 100644
> --- a/android/hal-ipc-api.txt
> +++ b/android/hal-ipc-api.txt
> @@ -614,14 +614,20 @@ Notifications:
>  		                      0x01 = Boot
>  		                      0xff = Unsupported
> 
> -	Opcode 0x84 - Get Report notification
> +	Opcode 0x84 - Idle Time notification
> +
> +		Notification parameters: Remote address (6 octets)
> +		                         Status (1 octet)
> +		                         Idle time (2 octets)
> +
> +	Opcode 0x85 - Get Report notification
> 
>  		Notification parameters: Remote address (6 octets)
>  		                         Status (1 octet)
>  		                         Report length (2 octets)
>  		                         Report data (variable)
> 
> -	Opcode 0x85 - Virtual Unplug notification
> +	Opcode 0x86 - Virtual Unplug notification
> 
>  		Notification parameters: Remote address (6 octets)
>  		                         Status (1 octet)
> diff --git a/android/hal-msg.h b/android/hal-msg.h
> index 6504408..15c7ebe 100644
> --- a/android/hal-msg.h
> +++ b/android/hal-msg.h
> @@ -648,7 +648,14 @@ struct hal_ev_hidhost_proto_mode {
>  	uint8_t mode;
>  } __attribute__((packed));
> 
> -#define HAL_EV_HIDHOST_GET_REPORT		0x84
> +#define HAL_EV_HIDHOST_IDLE_TIME		0x84
> +struct hal_ev_hidhost_idle_time {
> +	uint8_t bdaddr[6];
> +	uint8_t status;
> +	uint32_t idle_rate;
> +} __attribute__((packed));
> +
> +#define HAL_EV_HIDHOST_GET_REPORT		0x85
>  struct hal_ev_hidhost_get_report {
>  	uint8_t  bdaddr[6];
>  	uint8_t  status;
> @@ -656,7 +663,7 @@ struct hal_ev_hidhost_get_report {
>  	uint8_t  data[0];
>  } __attribute__((packed));
> 
> -#define HAL_EV_HIDHOST_VIRTUAL_UNPLUG		0x85
> +#define HAL_EV_HIDHOST_VIRTUAL_UNPLUG		0x86
>  struct hal_ev_hidhost_virtual_unplug {
>  	uint8_t  bdaddr[6];
>  	uint8_t  status;

All five patches are now upstream.

-- 
Szymon K. Janc
szymon.janc@xxxxxxxxx
--
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