Re: [PATCH 2/3] android/hal-handsfree: Fix missing HFP WBS callback

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

 



Hi Will,

On Thursday 27 August 2015 20:02:01 Will Wang wrote:
> ---
>  android/hal-handsfree.c | 12 ++++++++++++
>  android/hal-msg.h       |  6 ++++++
>  2 files changed, 18 insertions(+)
> 
> diff --git a/android/hal-handsfree.c b/android/hal-handsfree.c
> index 279b26a..9ab04c5 100644
> --- a/android/hal-handsfree.c
> +++ b/android/hal-handsfree.c
> @@ -153,6 +153,16 @@ static void handle_nrec(void *buf, uint16_t len, int
> fd) #endif
>  }
> 
> +#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
> +static void handle_wbs(void *buf, uint16_t len, int fd)
> +{
> +	struct hal_ev_handsfree_wbs *ev = buf;
> +
> +	if (cbs->wbs_cb)
> +		cbs->wbs_cb(ev->wbs, (bt_bdaddr_t *) (ev->bdaddr));
> +}
> +#endif
> +

This will not compile on Android KitKat (we still support it). Since daemon is 
version independent we need to have empty handler on hal. So #ifdefs should be 
inside function like:

static void handle_wbs(void *buf, uint16_t len, int fd)
{
#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
...
#endif
}

>  static void handle_chld(void *buf, uint16_t len, int fd)
>  {
>  	struct hal_ev_handsfree_chld *ev = buf;
> @@ -289,6 +299,8 @@ static const struct hal_ipc_handler ev_handlers[] = {
>  	/* HAL_EV_HANDSFREE_HSP_KEY_PRESS */
>  	{ handle_hsp_key_press, false,
>  				sizeof(struct hal_ev_handsfree_hsp_key_press) },
> +	/* HAL_EV_HANDSFREE_WBS */
> +	{ handle_wbs, false, sizeof(struct hal_ev_handsfree_wbs) },
>  };
> 
>  static uint8_t get_mode(void)
> diff --git a/android/hal-msg.h b/android/hal-msg.h
> index 698f45a..ea79fa7 100644
> --- a/android/hal-msg.h
> +++ b/android/hal-msg.h
> @@ -1638,6 +1638,12 @@ struct hal_ev_handsfree_hsp_key_press {
>  	uint8_t bdaddr[6];
>  } __attribute__((packed));
> 
> +#define HAL_EV_HANDSFREE_WBS		0x91
> +struct hal_ev_handsfree_wbs {
> +	uint8_t wbs;
> +	uint8_t bdaddr[6];
> +} __attribute__((packed));
> +
>  #define HAL_AVRCP_FEATURE_NONE			0x00
>  #define HAL_AVRCP_FEATURE_METADATA		0x01
>  #define HAL_AVRCP_FEATURE_ABSOLUTE_VOLUME	0x02

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