All of lore.kernel.org
 help / color / mirror / Atom feed
From: Szymon Janc <szymon.janc@tieto.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: [PATCH] android/avrcp-lib: Use void pointer in register_notification
Date: Thu, 16 Apr 2015 16:47:55 +0200	[thread overview]
Message-ID: <1949281.pv48h5JC6E@leonov> (raw)
In-Reply-To: <CABBYNZLLpB0kUuEK4W8CsM2Gf27zG_cDbkStaQ-nHuFu7XDhuw@mail.gmail.com>

Hi Luiz,

On Thursday 16 of April 2015 17:42:58 Luiz Augusto von Dentz wrote:
> Hi Szymon,
> 
> On Thu, Apr 16, 2015 at 2:24 PM, Szymon Janc <szymon.janc@tieto.com> wrote:
> > On Tuesday 14 of April 2015 15:48:35 Szymon Janc wrote:
> >> In this callback params vary depending on code. Passing those as void*
> >> allows to avoid extra memcpy that would be otherwise needed to
> >> avoid warnings due to increased alignment when casting.
> >> ---
> >> 
> >>  android/avrcp-lib.h | 2 +-
> >>  android/avrcp.c     | 5 +++--
> >>  unit/test-avrcp.c   | 9 +++++----
> >>  3 files changed, 9 insertions(+), 7 deletions(-)
> >> 
> >> diff --git a/android/avrcp-lib.h b/android/avrcp-lib.h
> >> index add7739..6554b12 100644
> >> --- a/android/avrcp-lib.h
> >> +++ b/android/avrcp-lib.h
> >> @@ -224,7 +224,7 @@ struct avrcp_control_cfm {
> >> 
> >>                                       char **text, void *user_data);
> >>       
> >>       bool (*register_notification) (struct avrcp *session, int err,
> >>       
> >>                                       uint8_t code, uint8_t event,
> >> 
> >> -                                     uint8_t *params, void *user_data);
> >> +                                     void *params, void *user_data);
> >> 
> >>       void (*set_volume) (struct avrcp *session, int err, uint8_t volume,
> >>       
> >>                                       void *user_data);
> >>       
> >>       void (*set_addressed) (struct avrcp *session, int err,
> >> 
> >> diff --git a/android/avrcp.c b/android/avrcp.c
> >> index bcb4228..8c3e25a 100644
> >> --- a/android/avrcp.c
> >> +++ b/android/avrcp.c
> >> @@ -748,11 +748,12 @@ static const struct avrcp_control_ind control_ind =
> >> {
> >> 
> >>  static bool handle_register_notification_rsp(struct avrcp *session, int
> >> 
> >> err, uint8_t code, uint8_t event,
> >> -                                             uint8_t *params,
> >> +                                             void *params,
> >> 
> >>                                               void *user_data)
> >>  
> >>  {
> >>  
> >>       struct avrcp_device *dev = user_data;
> >>       struct hal_ev_avrcp_volume_changed ev;
> >> 
> >> +     uint8_t *volume = params;
> >> 
> >>       if (err < 0) {
> >>       
> >>               error("AVRCP: %s", strerror(-err));
> >> 
> >> @@ -766,7 +767,7 @@ static bool handle_register_notification_rsp(struct
> >> avrcp *session, int err, return false;
> >> 
> >>       ev.type = code;
> >> 
> >> -     ev.volume = params[0] & 0x7f;
> >> +     ev.volume = volume[0];
> 
> With the above change we would not ignore the most significant bit.

This is already done by avrcp-lib. I just didn't bother to fix this in 
separate patch since line was changed anyway.

> 
> >>       ipc_send_notif(hal_ipc, HAL_SERVICE_ID_AVRCP,
> >>       
> >>                                       HAL_EV_AVRCP_VOLUME_CHANGED,
> >> 
> >> diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c
> >> index a610ad5..01307e6 100644
> >> --- a/unit/test-avrcp.c
> >> +++ b/unit/test-avrcp.c
> >> @@ -826,22 +826,23 @@ static void set_volume_rsp(struct avrcp *session,
> >> int
> >> err, uint8_t volume,
> >> 
> >>  static bool register_notification_rsp(struct avrcp *session, int err,
> >>  
> >>                                       uint8_t code, uint8_t event,
> >> 
> >> -                                     uint8_t *params, void *user_data)
> >> +                                     void *params, void *user_data)
> >> 
> >>  {
> >>  
> >>       struct context *context = user_data;
> >> 
> >> +     uint8_t *p = params;
> >> 
> >>       g_assert_cmpint(err, ==, 0);
> >>       
> >>       switch (event) {
> >>       
> >>       case AVRCP_EVENT_VOLUME_CHANGED:
> >>               if (g_str_equal(context->data->test_name,
> >>               "/TP/VLH/BV-03-C")) {
> >> 
> >> -                     g_assert_cmpint(params[0], ==, 0);
> >> +                     g_assert_cmpint(p[0], ==, 0);
> >> 
> >>                       break;
> >>               
> >>               } else if (code == AVC_CTYPE_INTERIM) {
> >> 
> >> -                     g_assert_cmpint(params[0], ==, 0);
> >> +                     g_assert_cmpint(p[0], ==, 0);
> >> 
> >>                       return true;
> >>               
> >>               }
> >> 
> >> -             g_assert_cmpint(params[0], ==, 1);
> >> +             g_assert_cmpint(p[0], ==, 1);
> >> 
> >>               break;
> >>       
> >>       }
> > 
> > Applied.
> > 
> > --
> > BR
> > Szymon Janc
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-bluetooth"
> > in the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
BR
Szymon Janc

      reply	other threads:[~2015-04-16 14:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-14 13:48 [PATCH] android/avrcp-lib: Use void pointer in register_notification Szymon Janc
2015-04-16 11:24 ` Szymon Janc
2015-04-16 14:42   ` Luiz Augusto von Dentz
2015-04-16 14:47     ` Szymon Janc [this message]

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=1949281.pv48h5JC6E@leonov \
    --to=szymon.janc@tieto.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=luiz.dentz@gmail.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.