Linux bluetooth development
 help / color / mirror / Atom feed
From: Szymon Janc <szymon.janc@gmail.com>
To: Petri Gynther <pgynther@google.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH] hog: Fill ev.u.create.{phys,uniq} for UHID_CREATE
Date: Wed, 19 Feb 2014 21:30:38 +0100	[thread overview]
Message-ID: <3638568.rUrzPLdPh8@athlon> (raw)
In-Reply-To: <20140219201545.4D13D1007E0@puck.mtv.corp.google.com>

Hi Petri,

On Wednesday 19 February 2014 12:15:45 Petri Gynther wrote:
> Fill ev.u.create.{phys,uniq} fields when uHID device is created.
> These values are copied to kernel hid_device structure.
> 
> linux/include/linux/hid.h:
> struct hid_device {
>   ...
>   char name[128];  /* Device name */
>   char phys[64];   /* Device physical location */
>   char uniq[64];   /* Device unique identifier (serial #) */
> ---
>  profiles/input/hog.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/profiles/input/hog.c b/profiles/input/hog.c
> index b9a14b9..35b973b 100644
> --- a/profiles/input/hog.c
> +++ b/profiles/input/hog.c
> @@ -92,6 +92,8 @@ struct hog_device {
>  	uint16_t		ctrlpt_handle;
>  	uint8_t			flags;
>  	char			*name;
> +	bdaddr_t		src;
> +	bdaddr_t		dst;
>  };
> 

struct hog_device already holds reference to btd_device and both src and dst 
can be taken from it where needed. No need to extend struct hog_device.

BTW same goes with name member which could be removed.

>  struct report {
> @@ -396,6 +398,8 @@ static void report_map_read_cb(guint8 status, const
> guint8 *pdu, guint16 plen, strncpy((char *) ev.u.create.name, hogdev->name
> ?
>  					hogdev->name : "bluez-hog-device",
>  					sizeof(ev.u.create.name) - 1);
> +	ba2str(&hogdev->src, (char *) ev.u.create.phys);
> +	ba2str(&hogdev->dst, (char *) ev.u.create.uniq);
>  	ev.u.create.vendor = vendor;
>  	ev.u.create.product = product;
>  	ev.u.create.version = version;
> @@ -724,6 +728,7 @@ static void attio_disconnected_cb(gpointer user_data)
>  static struct hog_device *hog_new_device(struct btd_device *device,
>  								uint16_t id)
>  {
> +	struct btd_adapter *adapter = device_get_adapter(device);
>  	struct hog_device *hogdev;
>  	char name[HCI_MAX_NAME_LENGTH + 1];
> 
> @@ -736,6 +741,8 @@ static struct hog_device *hog_new_device(struct
> btd_device *device, device_get_name(device, name, sizeof(name));
>  	if (strlen(name) > 0)
>  		hogdev->name = g_strdup(name);
> +	bacpy(&hogdev->src, btd_adapter_get_address(adapter));
> +	bacpy(&hogdev->dst, device_get_address(device));
> 
>  	return hogdev;
>  }

-- 
Szymon K. Janc
szymon.janc@gmail.com

  reply	other threads:[~2014-02-19 20:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-19 20:15 [PATCH] hog: Fill ev.u.create.{phys,uniq} for UHID_CREATE Petri Gynther
2014-02-19 20:30 ` Szymon Janc [this message]
2014-02-19 21:15   ` Petri Gynther
2014-02-19 21:24     ` Szymon Janc
2014-02-19 21:47       ` Petri Gynther

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3638568.rUrzPLdPh8@athlon \
    --to=szymon.janc@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=pgynther@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox