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
next prev parent 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