All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.