[oe-commits] org.oe.dev merge of '6ba440770253a20d17a68175abe67875c69ce828'
rwhitby commit
openembedded-commits at lists.openembedded.org
Mon Sep 24 09:18:46 UTC 2007
merge of '6ba440770253a20d17a68175abe67875c69ce828'
and 'd68560eb3e0b38837e6e007a6f82559194d984da'
Author: rwhitby at nslu2-linux.org
Branch: org.openembedded.dev
Revision: e3fa4ab0e51ec72d171b5d973d3cdbdafe22b60c
ViewMTN: http://monotone.openembedded.org/revision/info/e3fa4ab0e51ec72d171b5d973d3cdbdafe22b60c
Files:
1
packages/meta/slugos-packages.bb
packages/redboot-utils/fis_1.0.bb
packages/dbus/dbus/fix-segfault.patch
packages/alsa/alsa-state/a780
packages/alsa/alsa-state/a780/asound.state
packages/evince/evince_2.20.0.bb
packages/gsm/files/0001-Introduce-ports.patch
packages/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch
packages/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch
packages/gsm/files/0004-Handle-read-and-write-return-values.patch
packages/gsm/files/0005-Add-ask-ds-option-forSMS.patch
packages/gsm/files/024_sms-text-in-bracket.patch
packages/gsm/files/025_sms-status-report.patch
packages/gsm/files/027_phonebook-find-and-read-range-support.patch
packages/gsm/files/028_shell-phonebook-find-and-read-range-support.patch
packages/libpng/libpng-native_1.2.20.bb
packages/libpng/libpng_1.2.20.bb
packages/mplayer/files/simple_idct_armv5te.S
packages/openmoko2/moko-gtk-engine_svn.bb
conf/distro/include/insane-srcrevs.inc
conf/distro/include/moko-autorev.inc
conf/distro/include/sane-srcrevs.inc
packages/alsa/alsa-state.bb
packages/binutils/binutils-cross.inc
packages/dbus/dbus.inc
packages/dbus/dbus_1.0.1.bb
packages/dbus/dbus_1.0.2.bb
packages/gnome/epiphany_2.19.6.bb
packages/gsm/files/default
packages/gsm/libgsmd_svn.bb
packages/linux/linux-ezx-2.6.21/a780/defconfig
packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX
packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch
packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch
packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch
packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch
packages/linux/linux-ezx-2.6.21/patches/index.html
packages/linux/linux-ezx-2.6.21/patches/series
packages/linux/linux-ezx_2.6.21.bb
packages/mplayer/files/makefile-nostrip-svn.patch
packages/mplayer/mplayer_svn.bb
packages/openmoko2/libmokoui2_svn.bb
packages/openmoko2/openmoko-session2.bb
Diffs:
#
# mt diff -r6ba440770253a20d17a68175abe67875c69ce828 -re3fa4ab0e51ec72d171b5d973d3cdbdafe22b60c
#
#
#
# patch "packages/meta/slugos-packages.bb"
# from [738a66a4cd05dd74381dce0949ddcd547be2497f]
# to [3e624519aa3c29fb9c243930483b6363f1b191b9]
#
# patch "packages/redboot-utils/fis_1.0.bb"
# from [423fde1a30e871e390b48542349b88efb3a07ac9]
# to [16fa3c9f589d8b24e84de8555dad50affd97b735]
#
============================================================
--- packages/meta/slugos-packages.bb 738a66a4cd05dd74381dce0949ddcd547be2497f
+++ packages/meta/slugos-packages.bb 3e624519aa3c29fb9c243930483b6363f1b191b9
@@ -5,7 +5,7 @@ LICENSE = "MIT"
DESCRIPTION = "Packages that are compatible with the SlugOS firmware"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r35"
+PR = "r36"
CONFLICTS = "db3"
COMPATIBLE_MACHINE = "nslu2"
@@ -37,6 +37,7 @@ SLUGOS_PACKAGES = "\
binutils \
bison \
bluez-utils \
+ bluez-hcidump \
bogofilter \
boost \
bridge-utils \
============================================================
--- packages/redboot-utils/fis_1.0.bb 423fde1a30e871e390b48542349b88efb3a07ac9
+++ packages/redboot-utils/fis_1.0.bb 16fa3c9f589d8b24e84de8555dad50affd97b735
@@ -1,7 +1,7 @@ DESCRIPTION = "Tool to edit the Redboot
DESCRIPTION = "Tool to edit the Redboot FIS partition layout from userspace"
-PR = "r4"
+PR = "r5"
-SRC_URI = "svn://svn.nslu2-linux.org/svnroot/fis;module=trunk;proto=http"
+SRC_URI = "svn://svn.nslu2-linux.org/svnroot/fis;module=trunk;proto=http;rev=6"
S="${WORKDIR}/trunk"
export CFLAGS += "--std=c99"
#
# mt diff -rd68560eb3e0b38837e6e007a6f82559194d984da -re3fa4ab0e51ec72d171b5d973d3cdbdafe22b60c
#
#
#
# delete "packages/dbus/dbus/fix-segfault.patch"
#
# add_dir "packages/alsa/alsa-state/a780"
#
# add_file "packages/alsa/alsa-state/a780/asound.state"
# content [4dcd614c25848709bf9253b66bdef488e0b5d69e]
#
# add_file "packages/evince/evince_2.20.0.bb"
# content [34ce863fa5246e0dc1a81e7faafdb04621146434]
#
# add_file "packages/gsm/files/0001-Introduce-ports.patch"
# content [495de01c198c9aef61386914d9f83972993bec04]
#
# add_file "packages/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch"
# content [727397828e25f970deb5eba71a00c67fe7d61fcc]
#
# add_file "packages/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch"
# content [1c0d8ab106bd79dd2536d7e17ca5200b0dc79d8b]
#
# add_file "packages/gsm/files/0004-Handle-read-and-write-return-values.patch"
# content [edea7b387edd3e3a8ea4acef972c4c1de31289fb]
#
# add_file "packages/gsm/files/0005-Add-ask-ds-option-forSMS.patch"
# content [654b448848c4dd43294f2b0100d135cd0d3cf716]
#
# add_file "packages/gsm/files/024_sms-text-in-bracket.patch"
# content [456608cfb3f474e5dc2890863b132eb46e113d27]
#
# add_file "packages/gsm/files/025_sms-status-report.patch"
# content [47651ed89a0cad3619e60adbfb40a50747b7e8bb]
#
# add_file "packages/gsm/files/027_phonebook-find-and-read-range-support.patch"
# content [9bb08a6fe29c664fec3fbeae4954ee8b4b81e3e2]
#
# add_file "packages/gsm/files/028_shell-phonebook-find-and-read-range-support.patch"
# content [701d0d8e6dbaca2aa88ca100d44e5735e64c5b8f]
#
# add_file "packages/libpng/libpng-native_1.2.20.bb"
# content [f167e03f1cc222c183f8550ccbd0bd04fb3381e4]
#
# add_file "packages/libpng/libpng_1.2.20.bb"
# content [ba2b48a9b944d81e98b332c04a4cc1932a682fd4]
#
# add_file "packages/mplayer/files/simple_idct_armv5te.S"
# content [fc4be210fa21372489890682636c49da9fa17135]
#
# add_file "packages/openmoko2/moko-gtk-engine_svn.bb"
# content [07a7a3d2f336737f5cdd0625996442c5b9687030]
#
# patch "conf/distro/include/insane-srcrevs.inc"
# from [77f0eea1a733be785bb5acfaed64815e5f62f68a]
# to [6e7da1aa2c6130db2db09ae85664c3d6180a620c]
#
# patch "conf/distro/include/moko-autorev.inc"
# from [cb196173c3a1b600e59b8b160c7290b856d0faa5]
# to [2adf1e65425295ff0b2e60d7b25f0d0f3cddb224]
#
# patch "conf/distro/include/sane-srcrevs.inc"
# from [856bf7364f21ec188e4ce2f7c98e3a9a8dd0c6b7]
# to [ddaac7ee320dd8ad4baff5a250bd943c0a5c9e96]
#
# patch "packages/alsa/alsa-state.bb"
# from [87b0604266eaf34469b6a192b574a846d8b290d5]
# to [5a71abc6d18c594bd887abadbe6d7af926ff1301]
#
# patch "packages/binutils/binutils-cross.inc"
# from [2a9f9e4a843e43fc6356fa81e25f167e69bdd8d2]
# to [5220c374da49786833122769e3c53593a8202d99]
#
# patch "packages/dbus/dbus.inc"
# from [c8b2145db8681919b67a8e50346da67c283e0233]
# to [f2c229e2a89e9b3da17fe11252f2d44b73ce7007]
#
# patch "packages/dbus/dbus_1.0.1.bb"
# from [b55c8edfb32c457a02e1e498f6b14acebc1bbf8e]
# to [e01bd6fd36c624af9c31cd0f6020204db116a678]
#
# patch "packages/dbus/dbus_1.0.2.bb"
# from [a8ce6355ed3da04736b057936a57f1aeed630228]
# to [e167627a54c23293d250970ba68ae39a4a15fa60]
#
# patch "packages/gnome/epiphany_2.19.6.bb"
# from [77e6f8b09f3aef06dc17ffec1072c16e0554132b]
# to [512e68fe35d35c49f00a87261347fa9027d99af6]
#
# patch "packages/gsm/files/default"
# from [4f5482852a023458bb03627f6e4033dc88afaba6]
# to [fff8f5a5e6aa3b4c82a98e13da7f097b7ee15b91]
#
# patch "packages/gsm/libgsmd_svn.bb"
# from [4cba1496c29bd744fd3f2e590315d449dbe0b940]
# to [8fae0d7334ab46af3afa0e6fadd8b9b7e7441a06]
#
# patch "packages/linux/linux-ezx-2.6.21/a780/defconfig"
# from [0e933c30a4d63a963503d4f698df5f63d7e6e277]
# to [f9631dffecc5e6e24b6e67894d393c7a2bd167cf]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/Makefile.OpenEZX"
# from [0957542823ce200c987b90229c09b1f241b31129]
# to [cc114d60321d96d4b3fbb7521674c768df2b07d6]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch"
# from [f77d63718749f790e05d457841ea6d193c0797cd]
# to [f76cfad1cf632fbdccf9e774251130df373d9e1c]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch"
# from [f9f2a5e0463bcd8fc66b335e3d5b662e155cb5cc]
# to [5ea57d6607f060b9fbee31cf4214bbe0fd8b1329]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch"
# from [29ee8f5ee384b18b942b0ec97bbf2863060ff82a]
# to [0f9cc6315d859bc506bd8e94753ef7a2c8065044]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch"
# from [94c28b6a622e7780a5b713495bdf60040bbf6a47]
# to [57b7f73511468ddffaba28b95d19ed84d5a2eb8a]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch"
# from [7032ffa72e6985ba4f8a0127460bf0a44993a522]
# to [2c2252c7f3cb6ebbb8009b3e9ce084e0873e107d]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/index.html"
# from [ee7841873ec6f4e23154b8d4ea96d9158dcfb788]
# to [d69eb69c21a746109581d807596c32a688aad0fa]
#
# patch "packages/linux/linux-ezx-2.6.21/patches/series"
# from [5d4e5f0306d194f5628bbf152d8ab695698e62d5]
# to [e0ee47911741d71f5de5441dd40ff435eda64fa7]
#
# patch "packages/linux/linux-ezx_2.6.21.bb"
# from [8c02835ff0311dd8dfb6c691f61ccde14407e0ab]
# to [2fa81f07979a54fc0cb831c107b4aef98834a892]
#
# patch "packages/mplayer/files/makefile-nostrip-svn.patch"
# from [0464c9bb63ca08855ae73e041a81742fa9dc24ad]
# to [a56997c18d0d3b9bbe0a65391debcd74767affc1]
#
# patch "packages/mplayer/mplayer_svn.bb"
# from [4bd662cb276c19ccc5ae33d6f9d95b0adec0f0cc]
# to [3c711098eaa0aee3aca128c98616d85649428eea]
#
# patch "packages/openmoko2/libmokoui2_svn.bb"
# from [9e415b0e1b1fa3a3d28466bdab59e21147011500]
# to [fc7b7b01cd80ded36029ab7f5bcebade47a07051]
#
# patch "packages/openmoko2/openmoko-session2.bb"
# from [2f8ec02e7147e7aad394dad1204d210e52626bc8]
# to [496842695053a5e4f7cd66d4e569a3903302e8ae]
#
============================================================
--- packages/alsa/alsa-state/a780/asound.state 4dcd614c25848709bf9253b66bdef488e0b5d69e
+++ packages/alsa/alsa-state/a780/asound.state 4dcd614c25848709bf9253b66bdef488e0b5d69e
@@ -0,0 +1,80 @@
+state.EZX {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Output gain'
+ value 9
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Input gain'
+ value 14
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Input Mixer A3 Switch'
+ value true
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Input Mixer A5 Switch'
+ value true
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Output Mixer A1 Switch'
+ value true
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Output Mixer A2 Switch'
+ value true
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Output Mixer AR Switch'
+ value true
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Output Mixer AL Switch'
+ value true
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2ch'
+ comment.item.1 '2->1ch'
+ comment.item.2 '2->1ch -3db'
+ comment.item.3 '2->1ch -6db'
+ iface MIXER
+ name Downmixer
+ value '2ch'
+ }
+}
============================================================
--- packages/evince/evince_2.20.0.bb 34ce863fa5246e0dc1a81e7faafdb04621146434
+++ packages/evince/evince_2.20.0.bb 34ce863fa5246e0dc1a81e7faafdb04621146434
@@ -0,0 +1,19 @@
+DESCRIPTION = "Evince is a document viewer for document formats like pdf, ps, djvu."
+LICENSE = "GPL"
+SECTION = "x11/office"
+DEPENDS = "tiff djvulibre libxt espgs gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring "
+RDEPENDS = "espgs "
+RRECOMMENDS = "gnome-vfs-plugin-file"
+PR = "r2"
+
+inherit gnome pkgconfig gtk-icon-cache
+
+SRC_URI += "file://no-icon-theme.diff;patch=1;pnum=0 \
+ file://no-help-dir.patch;patch=1"
+
+EXTRA_OECONF = " --without-libgnome \
+ --disable-thumbnailer \
+ --disable-scrollkeeper \
+ --enable-djvu \
+ "
+
============================================================
--- packages/gsm/files/0001-Introduce-ports.patch 495de01c198c9aef61386914d9f83972993bec04
+++ packages/gsm/files/0001-Introduce-ports.patch 495de01c198c9aef61386914d9f83972993bec04
@@ -0,0 +1,710 @@
+From 516d67c679101d1503dbd4c0613bcd6ff1b604e4 Mon Sep 17 00:00:00 2001
+From: Andrzej Zaborowski <balrog at zabor.org>
+Date: Wed, 19 Sep 2007 14:03:28 +0200
+Subject: [PATCH] Introduce ports.
+
+---
+ include/gsmd/atcmd.h | 2 +-
+ include/gsmd/gsmd.h | 7 +-
+ include/gsmd/uart.h | 28 ++++++
+ include/gsmd/vendorplugin.h | 4 +-
+ src/gsmd/Makefile.am | 2 +-
+ src/gsmd/atcmd.c | 177 +++++++++++++++++---------------------
+ src/gsmd/gsmd.c | 64 ++------------
+ src/gsmd/uart.c | 202 +++++++++++++++++++++++++++++++++++++++++++
+ 8 files changed, 328 insertions(+), 158 deletions(-)
+ create mode 100644 include/gsmd/uart.h
+ create mode 100644 src/gsmd/uart.c
+
+diff --git a/include/gsmd/atcmd.h b/include/gsmd/atcmd.h
+index 0d6c62a..a1af6a0 100644
+--- a/include/gsmd/atcmd.h
++++ b/include/gsmd/atcmd.h
+@@ -9,7 +9,7 @@ typedef int atcmd_cb_t(struct gsmd_atcmd *cmd, void *ctx, char *resp);
+
+ extern struct gsmd_atcmd *atcmd_fill(const char *cmd, int rlen, atcmd_cb_t *cb, void *ctx, u_int16_t id);
+ extern int atcmd_submit(struct gsmd *g, struct gsmd_atcmd *cmd);
+-extern int atcmd_init(struct gsmd *g, int sockfd);
++extern int atcmd_init(struct gsmd *g, struct gsmd_port *port);
+ extern void atcmd_drain(int fd);
+
+ #endif /* __GSMD__ */
+diff --git a/include/gsmd/gsmd.h b/include/gsmd/gsmd.h
+index ed334f1..4afdf66 100644
+--- a/include/gsmd/gsmd.h
++++ b/include/gsmd/gsmd.h
+@@ -10,6 +10,7 @@
+ #include <gsmd/machineplugin.h>
+ #include <gsmd/vendorplugin.h>
+ #include <gsmd/select.h>
++#include <gsmd/uart.h>
+ #include <gsmd/state.h>
+
+ void *gsmd_tallocs;
+@@ -52,6 +53,7 @@ enum llparse_state {
+ #define MLPARSE_BUF_SIZE 65535
+
+ struct llparser {
++ struct gsmd_port *port;
+ enum llparse_state state;
+ unsigned int len;
+ unsigned int flags;
+@@ -70,7 +72,7 @@ struct gsmd;
+ struct gsmd {
+ unsigned int flags;
+ int interpreter_ready;
+- struct gsmd_fd gfd_uart;
++ struct gsmd_uart uart;
+ struct gsmd_fd gfd_sock;
+ struct llparser llp;
+ struct llist_head users;
+@@ -81,9 +83,10 @@ struct gsmd {
+ struct gsmd_device_state dev_state;
+
+ struct llist_head operators; /* cached list of operator names */
+- unsigned char *mlbuf; /* ml_parse buffer */
++ char *mlbuf; /* ml_parse buffer */
+ unsigned int mlbuf_len;
+ int mlunsolicited;
++ int clear_to_send;
+ };
+
+ struct gsmd_user {
+diff --git a/include/gsmd/uart.h b/include/gsmd/uart.h
+new file mode 100644
+index 0000000..a006fa7
+--- /dev/null
++++ b/include/gsmd/uart.h
+@@ -0,0 +1,28 @@
++#ifndef __GSMD_UART_H
++#define __GSMD_UART_H
++
++#ifdef __GSMD__
++
++struct gsmd_port {
++ int (*write)(struct gsmd_port *port, const char data[], int len);
++ int (*set_break)(struct gsmd_port *port, int state);
++ /* more parameters here */
++ int (*newdata_cb)(void *opaque, const char data[], int len);
++ void *newdata_opaque;
++};
++
++struct gsmd_uart {
++ struct gsmd_port port;
++ struct gsmd_fd gfd;
++ char txfifo[2048];
++ int tx_start;
++ int tx_len;
++};
++
++extern int set_baudrate(int fd, int baudrate, int hwflow);
++extern void uart_drain(int fd);
++extern int uart_init(struct gsmd_uart *uart, int sockfd);
++
++#endif /* __GSMD__ */
++
++#endif
+diff --git a/include/gsmd/vendorplugin.h b/include/gsmd/vendorplugin.h
+index 1911fef..1c82790 100644
+--- a/include/gsmd/vendorplugin.h
++++ b/include/gsmd/vendorplugin.h
+@@ -11,8 +11,8 @@ struct gsmd_unsolicit;
+
+ struct gsmd_vendor_plugin {
+ struct llist_head list;
+- unsigned char *name;
+- unsigned char *ext_chars;
++ char *name;
++ char *ext_chars;
+ unsigned int num_unsolicit;
+ const struct gsmd_unsolicit *unsolicit;
+ int (*detect)(struct gsmd *g);
+diff --git a/src/gsmd/Makefile.am b/src/gsmd/Makefile.am
+index 9ac45ee..110b757 100644
+--- a/src/gsmd/Makefile.am
++++ b/src/gsmd/Makefile.am
+@@ -13,7 +13,7 @@ sbin_PROGRAMS = gsmd
+ gsmd_CFLAGS = -D PLUGINDIR=\"$(plugindir)\"
+ gsmd_SOURCES = gsmd.c atcmd.c select.c machine.c vendor.c unsolicited.c log.c \
+ usock.c talloc.c timer.c operator_cache.c ext_response.c \
+- sms_cb.c sms_pdu.c
++ sms_cb.c sms_pdu.c uart.c
+ gsmd_LDADD = -ldl
+ gsmd_LDFLAGS = -Wl,--export-dynamic
+
+diff --git a/src/gsmd/atcmd.c b/src/gsmd/atcmd.c
+index 2ef6a10..27dfa41 100644
+--- a/src/gsmd/atcmd.c
++++ b/src/gsmd/atcmd.c
+@@ -159,7 +159,8 @@ static int llparse_byte(struct llparser *llp, char byte)
+ return ret;
+ }
+
+-static int llparse_string(struct llparser *llp, char *buf, unsigned int len)
++static int llparse_string(struct llparser *llp, const char *buf,
++ unsigned int len)
+ {
+ while (len--) {
+ int rc = llparse_byte(llp, *(buf++));
+@@ -187,6 +188,55 @@ static int llparse_init(struct llparser *llp)
+ return 0;
+ }
+
++/* See if we can now send more commands to the port */
++static void atcmd_wake_queue(struct gsmd *g)
++{
++ int len, rc;
++ char *cr;
++
++ /* write pending commands to UART */
++ while (g->interpreter_ready && g->clear_to_send) {
++ struct gsmd_atcmd *pos, *pos2;
++ llist_for_each_entry_safe(pos, pos2, &g->pending_atcmds, list) {
++ cr = strchr(pos->cur, '\n');
++ if (cr)
++ len = cr - pos->cur;
++ else
++ len = pos->buflen;
++ rc = g->llp.port->write(g->llp.port, pos->cur, len);
++ if (rc == 0) {
++ gsmd_log(GSMD_ERROR,
++ "write returns 0, aborting\n");
++ break;
++ }
++ if (cr && rc == len)
++ rc ++; /* Skip the \n */
++ pos->buflen -= rc;
++ pos->cur += rc;
++ g->llp.port->write(g->llp.port, "\r", 1);
++
++ if (!pos->buflen) {
++ /* success: remove from global list of
++ * to-be-sent atcmds */
++ llist_del(&pos->list);
++ /* append to global list of executing atcmds */
++ llist_add_tail(&pos->list, &g->busy_atcmds);
++
++ /* we only send one cmd at the moment */
++ g->clear_to_send = 0;
++ break;
++ } else {
++ /* The write was short or the atcmd has more
++ * lines to send after a "> ". */
++ if (rc < len)
++ break;
++ g->clear_to_send = 0;
++ break;
++ }
++ }
++ }
++}
++
+ /* mid-level parser */
+
+ static int parse_final_result(const char *res)
+@@ -216,6 +266,7 @@ static int ml_parse(const char *buf, int len, void *ctx)
+ g->interpreter_ready = 1;
+ gsmd_initsettings(g);
+ gmsd_alive_start(g);
++ atcmd_wake_queue(g);
+ return 0;
+ }
+
+@@ -316,6 +367,7 @@ static int ml_parse(const char *buf, int len, void *ctx)
+ } else {
+ DEBUGP("Calling cmd->cb()\n");
+ cmd->resp = g->mlbuf;
++ g->mlbuf[g->mlbuf_len] = 0;
+ rc = cmd->cb(cmd, cmd->ctx, cmd->resp);
+ DEBUGP("Clearing mlbuf\n");
+ }
+@@ -370,12 +422,15 @@ static int ml_parse(const char *buf, int len, void *ctx)
+ if (g->mlbuf_len)
+ g->mlbuf[g->mlbuf_len ++] = '\n';
+ DEBUGP("Appending buf to mlbuf\n");
+- if (len > MLPARSE_BUF_SIZE - g->mlbuf_len)
++ if (len > MLPARSE_BUF_SIZE - g->mlbuf_len) {
+ len = MLPARSE_BUF_SIZE - g->mlbuf_len;
++ gsmd_log(GSMD_NOTICE, "g->mlbuf overrun\n");
++ }
+ memcpy(g->mlbuf + g->mlbuf_len, buf, len);
+ g->mlbuf_len += len;
+
+ if (g->mlunsolicited) {
++ g->mlbuf[g->mlbuf_len] = 0;
+ rc = unsolicited_parse(g, g->mlbuf, g->mlbuf_len,
+ strchr(g->mlbuf, ':') + 1);
+ if (rc == -EAGAIN) {
+@@ -422,8 +477,11 @@ final_cb:
+
+ /* if we're finished with current commands, but still have pending
+ * commands: we want to WRITE again */
+- if (llist_empty(&g->busy_atcmds) && !llist_empty(&g->pending_atcmds))
+- g->gfd_uart.when |= GSMD_FD_WRITE;
++ if (llist_empty(&g->busy_atcmds)) {
++ g->clear_to_send = 1;
++ if (!llist_empty(&g->pending_atcmds))
++ atcmd_wake_queue(g);
++ }
%s
>>> DIFF TRUNCATED @ 16K
More information about the Openembedded-commits
mailing list