From: Andrei Emeltchenko <andrei.emeltchenko.news@gmail.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCHv3 06/15] android: Add basic mgmt initialization sequence
Date: Thu, 10 Oct 2013 12:59:54 +0300 [thread overview]
Message-ID: <20131010095952.GH23879@aemeltch-MOBL1> (raw)
In-Reply-To: <0147C8F8-0491-44CD-BCDB-51DF9F6D3315@holtmann.org>
Hi Marcel,
On Wed, Oct 09, 2013 at 09:30:22PM +0200, Marcel Holtmann wrote:
> Hi Andrei,
>
> > Initialize bluetooth controller via mgmt interface.
> > ---
> > Makefile.android | 4 +-
> > android/Android.mk | 11 +++
> > android/main.c | 189 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> > 3 files changed, 203 insertions(+), 1 deletion(-)
> >
> > diff --git a/Makefile.android b/Makefile.android
> > index e161e6d..9a2c486 100644
> > --- a/Makefile.android
> > +++ b/Makefile.android
> > @@ -1,7 +1,9 @@
> > if ANDROID
> > noinst_PROGRAMS += android/bluetoothd
> >
> > -android_bluetoothd_SOURCES = android/main.c src/log.c
> > +android_bluetoothd_SOURCES = android/main.c src/log.c \
> > + src/shared/util.h src/shared/util.c \
> > + src/shared/mgmt.h src/shared/mgmt.c
> > android_bluetoothd_LDADD = @GLIB_LIBS@
> > endif
> >
> > diff --git a/android/Android.mk b/android/Android.mk
> > index 2cabff4..f5fd863 100644
> > --- a/android/Android.mk
> > +++ b/android/Android.mk
> > @@ -15,10 +15,15 @@ include $(CLEAR_VARS)
> > LOCAL_SRC_FILES := \
> > main.c \
> > log.c \
> > + ../src/shared/mgmt.c \
> > + ../src/shared/util.c \
> >
> > LOCAL_C_INCLUDES := \
> > $(call include-path-for, glib) \
> > $(call include-path-for, glib)/glib \
> > +
> > +LOCAL_C_INCLUDES += \
> > + $(LOCAL_PATH)/../ \
> > $(LOCAL_PATH)/../src \
> do we need these nested includes actually? We could also just fix the includes. BlueZ historically has not been good with clear includes. I started to fix this, but it seems I have not gotten to all of them yet.
>
So how do you want it to be? Here I just added BlueZ top-dir.
> > LOCAL_CFLAGS := -DVERSION=\"$(BLUEZ_VERSION)\"
> > @@ -26,6 +31,12 @@ LOCAL_CFLAGS := -DVERSION=\"$(BLUEZ_VERSION)\"
> > # to suppress the "warning: missing initializer near initialization.." warning
> > LOCAL_CFLAGS += -Wno-missing-field-initializers
> >
> > +# to suppress the "pointer of type 'void *' used in arithmetic" warning
> > +LOCAL_CFLAGS += -Wno-pointer-arith
>
> Why do we need to suppress these warning. Can we not just fix them.
>
Is this fix good:
diff --git a/src/shared/mgmt.c b/src/shared/mgmt.c
index 2c79886..b2f5506 100644
--- a/src/shared/mgmt.c
+++ b/src/shared/mgmt.c
@@ -55,7 +55,7 @@ struct mgmt {
unsigned int next_notify_id;
bool in_notify;
bool destroyed;
- void *buf;
+ uint8_t *buf;
uint16_t len;
mgmt_debug_func_t debug_callback;
mgmt_destroy_func_t debug_destroy;
@@ -299,7 +299,7 @@ static gboolean received_data(GIOChannel *channel,
GIOCondition cond,
if (bytes_read < MGMT_HDR_SIZE)
return TRUE;
- hdr = mgmt->buf;
+ hdr = (struct mgmt_hdr *) mgmt->buf;
event = btohs(hdr->opcode);
index = btohs(hdr->index);
length = btohs(hdr->len);
@@ -309,7 +309,7 @@ static gboolean received_data(GIOChannel *channel,
GIOCondition cond,
switch (event) {
case MGMT_EV_CMD_COMPLETE:
- cc = mgmt->buf + MGMT_HDR_SIZE;
+ cc = (struct mgmt_ev_cmd_complete *) mgmt->buf +
MGMT_HDR_SIZE;
opcode = btohs(cc->opcode);
util_debug(mgmt->debug_callback, mgmt->debug_data,
@@ -320,7 +320,7 @@ static gboolean received_data(GIOChannel *channel,
GIOCondition cond,
mgmt->buf + MGMT_HDR_SIZE
+ 3);
break;
case MGMT_EV_CMD_STATUS:
- cs = mgmt->buf + MGMT_HDR_SIZE;
+ cs = (struct mgmt_ev_cmd_status *) mgmt->buf +
MGMT_HDR_SIZE;
opcode = btohs(cs->opcode);
util_debug(mgmt->debug_callback, mgmt->debug_data,
> > +
> > +# Define missing flags for Android 4.2
> > +LOCAL_CFLAGS += -DSOCK_CLOEXEC=02000000 -DSOCK_NONBLOCK=04000
> > +
>
> This thing is dangerous. Do we really bother with Android 4.2 support
> and can not rely on a newer version that has this fixed properly in
> bionic.
The problem here is that our base android-ia from 01.org is based on
4.2.2. Do you still want to remove this?
Best regards
Andrei Emeltchenko
next prev parent reply other threads:[~2013-10-10 9:59 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-07 7:38 [PATCHv1 00/15] Basic code for Android BlueZ Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 01/15] android: Supress missing initializers warnings Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 02/15] android: Add Adapter Bluetooth HAL template Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 03/15] android: Add Socket " Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 04/15] android: Enable Socket interface Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 05/15] android: Start Android Bluetooth daemon Andrei Emeltchenko
2013-10-07 12:09 ` Szymon Janc
2013-10-07 7:38 ` [PATCHv1 06/15] android: Add basic mgmt initialization sequence Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 07/15] android: Create HAL API header skeleton Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 08/15] android: Add adapter and device struct for BlueZ daemon Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 09/15] android: Add Android Makefile for libbluetooth Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 10/15] android: sdp: Reuse BlueZ SDP server in Android Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 11/15] android: Add cap to bind to port < 1024 Andrei Emeltchenko
2013-10-07 12:14 ` Szymon Janc
2013-10-07 7:38 ` [PATCHv1 12/15] android: Implement read_info_complete callback Andrei Emeltchenko
2013-10-07 12:26 ` Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 13/15] android: Handle mgmt changed events Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 14/15] android: Add makefile for hciconfig Andrei Emeltchenko
2013-10-07 7:38 ` [PATCHv1 15/15] android: Add makefile for hcitool Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 00/15] Basic code for Android BlueZ Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 01/15] android: Supress missing initializers warnings Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 02/15] android: Add Adapter Bluetooth HAL template Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 03/15] android: Add Socket " Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 04/15] android: Enable Socket interface Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 05/15] android: Start Android Bluetooth daemon Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 06/15] android: Add basic mgmt initialization sequence Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 07/15] android: Create HAL API header skeleton Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 08/15] android: Add adapter and device struct for BlueZ daemon Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 09/15] android: Add Android Makefile for libbluetooth Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 10/15] android: sdp: Reuse BlueZ SDP server in Android Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 11/15] android: Add cap to bind to port < 1024 Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 12/15] android: Implement read_info_complete callback Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 13/15] android: Handle mgmt changed events Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 14/15] android: Add makefile for hciconfig Andrei Emeltchenko
2013-10-08 10:33 ` [PATCHv2 15/15] android: Add makefile for hcitool Andrei Emeltchenko
2013-10-08 14:51 ` [PATCHv3 00/15] Basic code for Android BlueZ Andrei Emeltchenko
2013-10-08 14:51 ` [PATCHv3 01/15] android: Supress missing initializers warnings Andrei Emeltchenko
2013-10-09 19:11 ` Marcel Holtmann
2013-10-09 22:55 ` Lucas De Marchi
2013-10-10 6:58 ` Andrei Emeltchenko
2013-10-10 7:35 ` Marcel Holtmann
2013-10-10 8:07 ` Andrei Emeltchenko
2013-10-10 8:10 ` Marcel Holtmann
2013-10-10 8:16 ` Andrei Emeltchenko
2013-10-08 14:51 ` [PATCHv3 02/15] android: Add Adapter Bluetooth HAL template Andrei Emeltchenko
2013-10-08 14:51 ` [PATCHv3 03/15] android: Add Socket " Andrei Emeltchenko
2013-10-09 19:14 ` Marcel Holtmann
2013-10-10 6:56 ` Andrei Emeltchenko
2013-10-10 7:33 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 04/15] android: Enable Socket interface Andrei Emeltchenko
2013-10-09 19:15 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 05/15] android: Start Android Bluetooth daemon Andrei Emeltchenko
2013-10-09 19:19 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 06/15] android: Add basic mgmt initialization sequence Andrei Emeltchenko
2013-10-09 19:30 ` Marcel Holtmann
2013-10-10 9:59 ` Andrei Emeltchenko [this message]
2013-10-10 12:38 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 07/15] android: Create HAL API header skeleton Andrei Emeltchenko
2013-10-09 19:34 ` Marcel Holtmann
2013-10-10 12:29 ` Andrei Emeltchenko
2013-10-10 12:35 ` Marcel Holtmann
2013-10-10 12:48 ` Andrei Emeltchenko
2013-10-10 13:02 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 08/15] android: Add adapter and device struct for BlueZ daemon Andrei Emeltchenko
2013-10-09 19:39 ` Marcel Holtmann
2013-10-10 12:36 ` Andrei Emeltchenko
2013-10-10 12:40 ` Marcel Holtmann
2013-10-10 9:07 ` Marcin Kraglak
2013-10-10 12:30 ` Andrei Emeltchenko
2013-10-10 13:18 ` Marcin Kraglak
2013-10-10 13:27 ` Andrei Emeltchenko
2013-10-08 14:51 ` [PATCHv3 09/15] android: Add Android Makefile for libbluetooth Andrei Emeltchenko
2013-10-09 19:43 ` Marcel Holtmann
2013-10-10 12:43 ` Andrei Emeltchenko
2013-10-10 12:45 ` Marcel Holtmann
2013-10-10 12:52 ` Andrei Emeltchenko
2013-10-08 14:51 ` [PATCHv3 10/15] android: sdp: Reuse BlueZ SDP server in Android Andrei Emeltchenko
2013-10-09 19:45 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 11/15] android: Add cap to bind to port < 1024 Andrei Emeltchenko
2013-10-09 19:48 ` Marcel Holtmann
2013-10-10 13:01 ` Andrei Emeltchenko
2013-10-08 14:51 ` [PATCHv3 12/15] android: Implement read_info_complete callback Andrei Emeltchenko
2013-10-09 19:54 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 13/15] android: Handle mgmt changed events Andrei Emeltchenko
2013-10-09 19:58 ` Marcel Holtmann
2013-10-08 14:51 ` [PATCHv3 14/15] android: Add makefile for hciconfig Andrei Emeltchenko
2013-10-09 19:59 ` Marcel Holtmann
2013-10-14 11:51 ` Andrei Emeltchenko
2013-10-14 12:06 ` Marcel Holtmann
2013-10-14 13:39 ` Michal Labedzki
2013-10-08 14:51 ` [PATCHv3 15/15] android: Add makefile for hcitool Andrei Emeltchenko
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=20131010095952.GH23879@aemeltch-MOBL1 \
--to=andrei.emeltchenko.news@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=marcel@holtmann.org \
/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