All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Misc tidy-ups
@ 2012-07-09 17:03 Paul Eggleton
  2012-07-09 17:03 ` [PATCH 1/3] libgsmd - remove Paul Eggleton
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Paul Eggleton @ 2012-07-09 17:03 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 8d8b9e77aa3403e880cbbdfefc7f24a993b3161f:

  linux-yocto/3.4: perf scripting & unionfs fixes (2012-07-09 17:06:09 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/cleanup2
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/cleanup2

Paul Eggleton (3):
  libgsmd - remove
  core-image-minimal-dev: base on core-image-minimal
  core-image-*: remove copyright notices

 meta/conf/multilib.conf                            |    1 -
 .../gsm/files/0001-Introduce-ports.patch           |  712 --------------------
 ...ending-commands-before-restarting-the-mod.patch |   76 ---
 ...-segment-incoming-usock-data-into-packets.patch |   79 ---
 .../0004-Handle-read-and-write-return-values.patch |  178 -----
 .../gsm/files/0005-Add-ask-ds-option-forSMS.patch  |  132 ----
 .../gsm/files/024_sms-text-in-bracket.patch        |   72 --
 .../gsm/files/025_sms-status-report.patch          |  135 ----
 ...027_phonebook-find-and-read-range-support.patch |  425 ------------
 ...ell-phonebook-find-and-read-range-support.patch |  266 --------
 meta/recipes-connectivity/gsm/files/default        |   59 --
 .../gsm/files/fix_machine_init.patch               |   28 -
 meta/recipes-connectivity/gsm/files/gsmd           |   47 --
 .../gsm/files/install-ts-headers.patch             |   13 -
 .../gsm/files/lgsm_send_fix_return_value.patch     |   13 -
 meta/recipes-connectivity/gsm/gsmd.inc             |  108 ---
 meta/recipes-connectivity/gsm/libgsmd_svn.bb       |    6 -
 meta/recipes-core/images/core-image-base.bb        |    3 -
 meta/recipes-core/images/core-image-core.bb        |    3 -
 meta/recipes-core/images/core-image-minimal-dev.bb |   15 +-
 .../images/core-image-minimal-mtdutils.bb          |    3 -
 meta/recipes-core/images/core-image-minimal.bb     |    3 -
 meta/recipes-core/tasks/task-base.bb               |    5 +-
 meta/recipes-rt/images/core-image-rt-sdk.bb        |    3 -
 meta/recipes-rt/images/core-image-rt.bb            |    3 -
 meta/recipes-sato/images/core-image-sato-dev.bb    |    3 -
 meta/recipes-sato/images/core-image-sato-sdk.bb    |    3 -
 meta/recipes-sato/images/core-image-sato.bb        |    3 -
 28 files changed, 4 insertions(+), 2393 deletions(-)
 delete mode 100644 meta/recipes-connectivity/gsm/files/0001-Introduce-ports.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0004-Handle-read-and-write-return-values.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/024_sms-text-in-bracket.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/025_sms-status-report.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/027_phonebook-find-and-read-range-support.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/028_shell-phonebook-find-and-read-range-support.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/default
 delete mode 100644 meta/recipes-connectivity/gsm/files/fix_machine_init.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/gsmd
 delete mode 100644 meta/recipes-connectivity/gsm/files/install-ts-headers.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/lgsm_send_fix_return_value.patch
 delete mode 100644 meta/recipes-connectivity/gsm/gsmd.inc
 delete mode 100644 meta/recipes-connectivity/gsm/libgsmd_svn.bb

-- 
1.7.9.5




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] libgsmd - remove
  2012-07-09 17:03 [PATCH 0/3] Misc tidy-ups Paul Eggleton
@ 2012-07-09 17:03 ` Paul Eggleton
  2012-07-09 17:03 ` [PATCH 2/3] core-image-minimal-dev: base on core-image-minimal Paul Eggleton
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2012-07-09 17:03 UTC (permalink / raw)
  To: openembedded-core

This project has been unmaintained for some time, and even the OpenMoko
project is not using it any more (in favour of FSO). Since we have ofono
in OE-Core which replaces and surpasses its functionality, we can remove
libgsmd.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/conf/multilib.conf                            |    1 -
 .../gsm/files/0001-Introduce-ports.patch           |  712 --------------------
 ...ending-commands-before-restarting-the-mod.patch |   76 ---
 ...-segment-incoming-usock-data-into-packets.patch |   79 ---
 .../0004-Handle-read-and-write-return-values.patch |  178 -----
 .../gsm/files/0005-Add-ask-ds-option-forSMS.patch  |  132 ----
 .../gsm/files/024_sms-text-in-bracket.patch        |   72 --
 .../gsm/files/025_sms-status-report.patch          |  135 ----
 ...027_phonebook-find-and-read-range-support.patch |  425 ------------
 ...ell-phonebook-find-and-read-range-support.patch |  266 --------
 meta/recipes-connectivity/gsm/files/default        |   59 --
 .../gsm/files/fix_machine_init.patch               |   28 -
 meta/recipes-connectivity/gsm/files/gsmd           |   47 --
 .../gsm/files/install-ts-headers.patch             |   13 -
 .../gsm/files/lgsm_send_fix_return_value.patch     |   13 -
 meta/recipes-connectivity/gsm/gsmd.inc             |  108 ---
 meta/recipes-connectivity/gsm/libgsmd_svn.bb       |    6 -
 meta/recipes-core/tasks/task-base.bb               |    5 +-
 18 files changed, 2 insertions(+), 2353 deletions(-)
 delete mode 100644 meta/recipes-connectivity/gsm/files/0001-Introduce-ports.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0004-Handle-read-and-write-return-values.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/024_sms-text-in-bracket.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/025_sms-status-report.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/027_phonebook-find-and-read-range-support.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/028_shell-phonebook-find-and-read-range-support.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/default
 delete mode 100644 meta/recipes-connectivity/gsm/files/fix_machine_init.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/gsmd
 delete mode 100644 meta/recipes-connectivity/gsm/files/install-ts-headers.patch
 delete mode 100644 meta/recipes-connectivity/gsm/files/lgsm_send_fix_return_value.patch
 delete mode 100644 meta/recipes-connectivity/gsm/gsmd.inc
 delete mode 100644 meta/recipes-connectivity/gsm/libgsmd_svn.bb

diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 92a7813..bb21815 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -297,7 +297,6 @@ BBCLASSEXTEND_append_pn-libgnomekbd = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-libgnome-keyring = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-libgpg-error = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-libgsf = " ${MULTILIBS}"
-BBCLASSEXTEND_append_pn-libgsmd = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-libgtkstylus = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-libical = " ${MULTILIBS}"
 BBCLASSEXTEND_append_pn-libice = " ${MULTILIBS}"
diff --git a/meta/recipes-connectivity/gsm/files/0001-Introduce-ports.patch b/meta/recipes-connectivity/gsm/files/0001-Introduce-ports.patch
deleted file mode 100644
index 2a954d6..0000000
--- a/meta/recipes-connectivity/gsm/files/0001-Introduce-ports.patch
+++ /dev/null
@@ -1,712 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-From 516d67c679101d1503dbd4c0613bcd6ff1b604e4 Mon Sep 17 00:00:00 2001
-From: Andrzej Zaborowski <balrog@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);
-+	}
- 
- 	return rc;
- }
-@@ -433,85 +491,23 @@ static int atcmd_prompt(void *data)
- {
- 	struct gsmd *g = data;
- 
--	g->gfd_uart.when |= GSMD_FD_WRITE;
-+	g->clear_to_send = 1;
-+	atcmd_wake_queue(g);
- }
- 
- /* callback to be called if [virtual] UART has some data for us */
--static int atcmd_select_cb(int fd, unsigned int what, void *data)
-+static int atcmd_newdata_cb(void *opaque, const char data[], int len)
- {
--	int len, rc;
--	static char rxbuf[1024];
--	struct gsmd *g = data;
--	char *cr;
--
--	if (what & GSMD_FD_READ) {
--		memset(rxbuf, 0, sizeof(rxbuf));
--		while ((len = read(fd, rxbuf, sizeof(rxbuf)))) {
--			if (len < 0) {
--				if (errno == EAGAIN)
--					return 0;
--				gsmd_log(GSMD_NOTICE, "ERROR reading from fd %u: %d (%s)\n", fd, len,
--					strerror(errno));
--					return len;
--			}
--			rc = llparse_string(&g->llp, rxbuf, len);
--			if (rc < 0) {
--				gsmd_log(GSMD_ERROR, "ERROR during llparse_string: %d\n", rc);
--				return rc;
--			}
--		}
--	}
--
--	/* write pending commands to UART */
--	if ((what & GSMD_FD_WRITE) && g->interpreter_ready) {
--		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 - 1;  /* assuming zero-terminated strings */
--			rc = write(fd, pos->cur, len);
--			if (rc == 0) {
--				gsmd_log(GSMD_ERROR, "write returns 0, aborting\n");
--				break;
--			} else if (rc < 0) {
--				gsmd_log(GSMD_ERROR, "error during write to fd %d: %d\n",
--					fd, rc);
--				return rc;
--			}
--			if (!cr || rc == len)
--				rc ++;	/* Skip the \n or \0 */
--			pos->buflen -= rc;
--			pos->cur += rc;
--			write(fd, "\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 */
--				break;
--			} else {
--				/* The write was short or the atcmd has more
--				 * lines to send after a "> ".  */
--				if (rc < len)
--					return 0;
--				break;
--			}
--		}
-+	struct gsmd *g = opaque;
-+	int rc;
- 
--		/* Either pending_atcmds is empty or a command has to wait */
--		g->gfd_uart.when &= ~GSMD_FD_WRITE;
--	}
-+	rc = llparse_string(&g->llp, data, len);
-+	if (rc < 0)
-+		gsmd_log(GSMD_ERROR, "ERROR during llparse_string: %d\n", rc);
- 
--	return 0;
-+	return rc;
- }
- 
--
- struct gsmd_atcmd *atcmd_fill(const char *cmd, int rlen,
- 			      atcmd_cb_t cb, void *ctx, u_int16_t id)
- {
-@@ -544,36 +540,18 @@ int atcmd_submit(struct gsmd *g, struct gsmd_atcmd *cmd)
- {
- 	DEBUGP("submitting command `%s'\n", cmd->buf);
- 
--	if (llist_empty(&g->pending_atcmds))
--		g->gfd_uart.when |= GSMD_FD_WRITE;
-+	llist_empty(&g->pending_atcmds);
- 	llist_add_tail(&cmd->list, &g->pending_atcmds);
-+	atcmd_wake_queue(g);
- 
- 	return 0;
- }
- 
--void atcmd_drain(int fd)
--{
--	int rc;
--	struct termios t;
--	rc = tcflush(fd, TCIOFLUSH);
--	rc = tcgetattr(fd, &t);
--	DEBUGP("c_iflag = 0x%08x, c_oflag = 0x%08x, c_cflag = 0x%08x, c_lflag = 0x%08x\n",
--		t.c_iflag, t.c_oflag, t.c_cflag, t.c_lflag);
--	t.c_iflag = t.c_oflag = 0;
--	cfmakeraw(&t);
--	rc = tcsetattr(fd, TCSANOW, &t);
--}
--
- /* init atcmd parser */
--int atcmd_init(struct gsmd *g, int sockfd)
-+int atcmd_init(struct gsmd *g, struct gsmd_port *port)
- {
- 	__atcmd_ctx = talloc_named_const(gsmd_tallocs, 1, "atcmds");
- 
--	g->gfd_uart.fd = sockfd;
--	g->gfd_uart.when = GSMD_FD_READ;
--	g->gfd_uart.data = g;
--	g->gfd_uart.cb = &atcmd_select_cb;
--
- 	INIT_LLIST_HEAD(&g->pending_atcmds);
- 	INIT_LLIST_HEAD(&g->busy_atcmds);
- 
-@@ -581,7 +559,9 @@ int atcmd_init(struct gsmd *g, int sockfd)
- 
- 	g->mlbuf_len = 0;
- 	g->mlunsolicited = 0;
-+	g->clear_to_send = 1;
- 
-+	g->llp.port = port;
- 	g->llp.cur = g->llp.buf;
- 	g->llp.len = sizeof(g->llp.buf);
- 	g->llp.cb = &ml_parse;
-@@ -589,5 +569,8 @@ int atcmd_init(struct gsmd *g, int sockfd)
- 	g->llp.ctx = g;
- 	g->llp.flags = LGSM_ATCMD_F_EXTENDED;
- 
--	return gsmd_register_fd(&g->gfd_uart);
-+	port->newdata_opaque = g;
-+	port->newdata_cb = atcmd_newdata_cb;
-+
-+	return 0;
- }
-diff --git a/src/gsmd/gsmd.c b/src/gsmd/gsmd.c
-index 51b4f2c..846bd17 100644
---- a/src/gsmd/gsmd.c
-+++ b/src/gsmd/gsmd.c
-@@ -26,7 +26,6 @@
- #include <string.h>
- #include <errno.h>
- #include <fcntl.h>
--#include <termios.h>
- #include <signal.h>
- 
- #define _GNU_SOURCE
-@@ -247,56 +246,6 @@ int gsmd_initsettings(struct gsmd *gsmd)
- 	return atcmd_submit(gsmd, cmd);
- }
- 
--struct bdrt {
--	int bps;
--	u_int32_t b;
--};
--
--static struct bdrt bdrts[] = {
--	{ 0, B0 },
--	{ 9600, B9600 },
--	{ 19200, B19200 },
--	{ 38400, B38400 },
--	{ 57600, B57600 },
--	{ 115200, B115200 },
--	{ 230400, B230400 },
--	{ 460800, B460800 },
--	{ 921600, B921600 },
--};
--
--static int set_baudrate(int fd, int baudrate, int hwflow)
--{
--	int i;
--	u_int32_t bd = 0;
--	struct termios ti;
--
--	for (i = 0; i < ARRAY_SIZE(bdrts); i++) {
--		if (bdrts[i].bps == baudrate)
--			bd = bdrts[i].b;
--	}
--	if (bd == 0)
--		return -EINVAL;
--	
--	i = tcgetattr(fd, &ti);
--	if (i < 0)
--		return i;
--	
--	i = cfsetispeed(&ti, B0);
--	if (i < 0)
--		return i;
--	
--	i = cfsetospeed(&ti, bd);
--	if (i < 0)
--		return i;
--	
--	if (hwflow)
--		ti.c_cflag |= CRTSCTS;
--	else
--		ti.c_cflag &= ~CRTSCTS;
--
--	return tcsetattr(fd, 0, &ti);
--}
--
- static int gsmd_initialize(struct gsmd *g)
- {
- 	INIT_LLIST_HEAD(&g->users);
-@@ -478,14 +427,19 @@ int main(int argc, char **argv)
- 	if (wait >= 0)
- 		g.interpreter_ready = !wait;
- 
--	if (atcmd_init(&g, fd) < 0) {
-+	if (uart_init(&g.uart, fd) < 0) {
- 		fprintf(stderr, "can't initialize UART device\n");
- 		exit(1);
- 	}
- 
--  write(fd, "\r", 1);
--  sleep(1);
--	atcmd_drain(fd);
-+	if (atcmd_init(&g, &g.uart.port) < 0) {
-+		fprintf(stderr, "can't initialize AT parser\n");
-+		exit(1);
-+	}
-+	write(fd, "\r", 1);
-+	sleep(1);
-+
-+	uart_drain(fd);
- 
- 	if (usock_init(&g) < 0) {
- 		fprintf(stderr, "can't open unix socket\n");
-diff --git a/src/gsmd/uart.c b/src/gsmd/uart.c
-new file mode 100644
-index 0000000..22a4a5c
---- /dev/null
-+++ b/src/gsmd/uart.c
-@@ -0,0 +1,202 @@
-+/* Wrapper for the physical UART in a struct gsmd_port abstraction.
-+ *
-+ * Copyright (C) 2007 OpenMoko, Inc.
-+ * Written by Andrzej Zaborowski <andrew@openedhand.com>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#include <string.h>
-+#include <fcntl.h>
-+#include <termios.h>
-+#include <unistd.h>
-+#include <errno.h>
-+
-+#include "gsmd.h"
-+
-+#include <gsmd/gsmd.h>
-+
-+void uart_drain(int fd)
-+{
-+	int rc;
-+	struct termios t;
-+	rc = tcflush(fd, TCIOFLUSH);
-+	rc = tcgetattr(fd, &t);
-+	DEBUGP(	
-+			"c_iflag = 0x%08x, c_oflag = 0x%08x, "
-+			"c_cflag = 0x%08x, c_lflag = 0x%08x\n",
-+			t.c_iflag, t.c_oflag, t.c_cflag, t.c_lflag);
-+	t.c_iflag = t.c_oflag = 0;
-+	cfmakeraw(&t);
-+	rc = tcsetattr(fd, TCSANOW, &t);
-+}
-+
-+struct bdrt {
-+	int bps;
-+	u_int32_t b;
-+};
-+
-+static struct bdrt bdrts[] = {
-+	{ 0, B0 },
-+	{ 9600, B9600 },
-+	{ 19200, B19200 },
-+	{ 38400, B38400 },
-+	{ 57600, B57600 },
-+	{ 115200, B115200 },
-+	{ 230400, B230400 },
-+	{ 460800, B460800 },
-+	{ 921600, B921600 },
-+};
-+
-+int set_baudrate(int fd, int baudrate, int hwflow)
-+{
-+	int i;
-+	u_int32_t bd = 0;
-+	struct termios ti;
-+
-+	for (i = 0; i < ARRAY_SIZE(bdrts); i++) {
-+		if (bdrts[i].bps == baudrate)
-+			bd = bdrts[i].b;
-+	}
-+	if (bd == 0)
-+		return -EINVAL;
-+	
-+	i = tcgetattr(fd, &ti);
-+	if (i < 0)
-+		return i;
-+	
-+	i = cfsetispeed(&ti, B0);
-+	if (i < 0)
-+		return i;
-+	
-+	i = cfsetospeed(&ti, bd);
-+	if (i < 0)
-+		return i;
-+	
-+	if (hwflow)
-+		ti.c_cflag |= CRTSCTS;
-+	else
-+		ti.c_cflag &= ~CRTSCTS;
-+
-+	return tcsetattr(fd, 0, &ti);
-+}
-+
-+static int uart_select_cb(int fd, unsigned int what, void *data)
-+{
-+	struct gsmd_uart *uart = (struct gsmd_uart *) data;
-+	static char rxbuf[2048];
-+	int rc, len;
-+
-+	if ((what & GSMD_FD_READ) && uart->port.newdata_cb) {
-+		while ((len = read(fd, rxbuf, sizeof(rxbuf)))) {
-+			if (len < 0) {
-+				if (errno == EAGAIN || errno == EINTR)
-+					return 0;
-+				gsmd_log(GSMD_NOTICE, "ERROR reading from "
-+						"fd %u: %d (%s)\n", fd, errno,
-+						strerror(errno));
-+				return -errno;
-+			}
-+
-+			rc = uart->port.newdata_cb(
-+					uart->port.newdata_opaque,
-+					rxbuf,
-+					len);
-+			if (rc < 0)
-+				return rc;
-+		}
-+	}
-+
-+	/* Write pending data to UART.  */
-+	if ((what & GSMD_FD_WRITE) && uart->tx_len) {
-+		while (uart->tx_start + uart->tx_len >= sizeof(uart->txfifo)) {
-+			len = sizeof(uart->txfifo) - uart->tx_start;
-+			rc = write(fd, &uart->txfifo[uart->tx_start], len);
-+			if (rc < 0 && errno != EINTR) {
-+				if (errno == EAGAIN)
-+					return 0;
-+				gsmd_log(GSMD_NOTICE, "ERROR writing "
-+						"fd %u: %d (%s)\n", fd, errno,
-+						strerror(errno));
-+				return -errno;
-+			}
-+
-+			if (rc > 0) {
-+				uart->tx_start += rc;
-+				uart->tx_len -= rc;
-+			}
-+		}
-+		uart->tx_start &= sizeof(uart->txfifo) - 1;
-+
-+		while (uart->tx_len) {
-+			rc = write(fd, &uart->txfifo[uart->tx_start],
-+					uart->tx_len);
-+			if (rc < 0 && errno != EINTR) {
-+				if (errno == EAGAIN)
-+					return 0;
-+				gsmd_log(GSMD_NOTICE, "ERROR writing "
-+						"fd %u: %d (%s)\n", fd, errno,
-+						strerror(errno));
-+				return -errno;
-+			}
-+
-+			if (rc > 0) {
-+				uart->tx_start += rc;
-+				uart->tx_len -= rc;
-+			}
-+		}
-+
-+		/* If we reached here, there's no more data for the moment.  */
-+		uart->gfd.when &= ~GSMD_FD_WRITE;
-+	}
-+
-+	return 0;
-+}
-+
-+static int uart_write(struct gsmd_port *port, const char data[], int len)
-+{
-+	struct gsmd_uart *uart = (struct gsmd_uart *) port;
-+	int start = (uart->tx_start + uart->tx_len) &
-+		(sizeof(uart->txfifo) - 1);
-+	int space = sizeof(uart->txfifo) - start;
-+
-+	if (uart->tx_len + len > sizeof(uart->txfifo))
-+		len = sizeof(uart->txfifo) - uart->tx_len;
-+
-+	if (len)
-+		uart->gfd.when |= GSMD_FD_WRITE;
-+
-+	if (len > space) {
-+		memcpy(uart->txfifo + start, data, space);
-+		memcpy(uart->txfifo, data + space, len - space);
-+	} else
-+		memcpy(uart->txfifo + start, data, len);
-+
-+	uart->tx_len += len;
-+	return len;
-+}
-+
-+int uart_init(struct gsmd_uart *uart, int sockfd)
-+{
-+	uart->gfd.fd = sockfd;
-+	uart->gfd.when = GSMD_FD_READ;
-+	uart->gfd.data = uart;
-+	uart->gfd.cb = &uart_select_cb;
-+
-+	uart->port.write = uart_write;
-+
-+	return gsmd_register_fd(&uart->gfd);
-+}
--- 
-1.5.2.1
-
diff --git a/meta/recipes-connectivity/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch b/meta/recipes-connectivity/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch
deleted file mode 100644
index 51d50b9..0000000
--- a/meta/recipes-connectivity/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-From 1078f7aced63c6216bffe649930b97c9ccf9a16e Mon Sep 17 00:00:00 2001
-From: Andrzej Zaborowski <balrog@zabor.org>
-Date: Wed, 19 Sep 2007 14:04:50 +0200
-Subject: [PATCH] Flush all pending commands before restarting the modem initialisation.
-
----
- include/gsmd/gsmd.h |    1 +
- src/gsmd/atcmd.c    |   21 +++++++++++++++++++++
- src/gsmd/timer.c    |    8 ++++++++
- 3 files changed, 30 insertions(+), 0 deletions(-)
-
-diff --git a/include/gsmd/gsmd.h b/include/gsmd/gsmd.h
-index 4afdf66..6ac9d8e 100644
---- a/include/gsmd/gsmd.h
-+++ b/include/gsmd/gsmd.h
-@@ -131,6 +131,7 @@ struct gsmd_timer {
- 
- int gsmd_timer_init(void);
- void gmsd_timer_check_n_run(void);
-+void gsmd_timer_reset(void);
- 
- struct gsmd_timer *gsmd_timer_alloc(void);
- int gsmd_timer_register(struct gsmd_timer *timer);
-diff --git a/src/gsmd/atcmd.c b/src/gsmd/atcmd.c
-index 27dfa41..2f6cee2 100644
---- a/src/gsmd/atcmd.c
-+++ b/src/gsmd/atcmd.c
-@@ -264,6 +264,27 @@ static int ml_parse(const char *buf, int len, void *ctx)
- 	if (strlen(buf) == 0 ||
- 	    !strcmp(buf, "AT-Command Interpreter ready")) {
- 		g->interpreter_ready = 1;
-+		g->clear_to_send = 1;
-+
-+		/* Flush current queue and reinitialise */
-+		while (!llist_empty(&g->busy_atcmds)) {
-+			cmd = llist_entry(g->busy_atcmds.next,
-+					  struct gsmd_atcmd, list);
-+			gsmd_log(GSMD_NOTICE, "discarding busy cmd %s\n",
-+					cmd->buf);
-+			llist_del(&cmd->list);
-+			talloc_free(cmd);
-+		}
-+		while (!llist_empty(&g->pending_atcmds)) {
-+			cmd = llist_entry(g->pending_atcmds.next,
-+					  struct gsmd_atcmd, list);
-+			gsmd_log(GSMD_NOTICE, "discarding pending cmd %s\n",
-+					cmd->buf);
-+			llist_del(&cmd->list);
-+			talloc_free(cmd);
-+		}
-+
-+		gsmd_timer_reset();
- 		gsmd_initsettings(g);
- 		gmsd_alive_start(g);
- 		atcmd_wake_queue(g);
-diff --git a/src/gsmd/timer.c b/src/gsmd/timer.c
-index 5200690..8877275 100644
---- a/src/gsmd/timer.c
-+++ b/src/gsmd/timer.c
-@@ -215,3 +215,11 @@ void gsmd_timer_unregister(struct gsmd_timer *timer)
- 	/* re-calculate next expiration */
- 	calc_next_expiration();
- }
-+
-+void gsmd_timer_reset(void)
-+{
-+	while (!llist_empty(&gsmd_timers))
-+		/* TODO: free associated resources (e.g timer->cancel_cb()) */
-+		llist_del(&llist_entry(gsmd_timers.next,
-+					struct gsmd_timer, list)->list);
-+}
--- 
-1.5.2.1
-
diff --git a/meta/recipes-connectivity/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch b/meta/recipes-connectivity/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch
deleted file mode 100644
index 87aaf6b..0000000
--- a/meta/recipes-connectivity/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-From 8af1bb4a0d0df9baa80859c5f7f56cbd7634aded Mon Sep 17 00:00:00 2001
-From: Andrzej Zaborowski <balrog@zabor.org>
-Date: Wed, 19 Sep 2007 14:06:19 +0200
-Subject: [PATCH] Correctly segment incoming usock data into packets, handler short reads.
-
----
- include/gsmd/gsmd.h |    2 ++
- src/gsmd/usock.c    |   20 ++++++++++++++++----
- 2 files changed, 18 insertions(+), 4 deletions(-)
-
-diff --git a/include/gsmd/gsmd.h b/include/gsmd/gsmd.h
-index 6ac9d8e..acec02a 100644
---- a/include/gsmd/gsmd.h
-+++ b/include/gsmd/gsmd.h
-@@ -95,6 +95,8 @@ struct gsmd_user {
- 	struct gsmd *gsmd;
- 	struct gsmd_fd gfd;				/* the socket */
- 	u_int32_t subscriptions;		/* bitmaks of subscribed event groups */
-+	char usock_fifo[1024];
-+	int usock_len;
- 
- 	struct llist_head pb_readrg_list;	/* our READRG phonebook list */
- 	struct llist_head pb_find_list;		/* our FIND phonebook list */
-diff --git a/src/gsmd/usock.c b/src/gsmd/usock.c
-index 32e98d0..bac5f0c 100644
---- a/src/gsmd/usock.c
-+++ b/src/gsmd/usock.c
-@@ -1529,14 +1529,15 @@ static int usock_rcv_pcmd(struct gsmd_user *gu, char *buf, int len)
- static int gsmd_usock_user_cb(int fd, unsigned int what, void *data)
- {
- 	struct gsmd_user *gu = data;
-+	struct gsmd_msg_hdr *gph;
- 
- 	/* FIXME: check some kind of backlog and limit it */
- 
- 	if (what & GSMD_FD_READ) {
--		char buf[1024];
- 		int rcvlen;
- 		/* read data from socket, determine what he wants */
--		rcvlen = read(fd, buf, sizeof(buf));
-+		rcvlen = read(fd, gu->usock_fifo + gu->usock_len,
-+				sizeof(gu->usock_fifo) - gu->usock_len);
- 		if (rcvlen == 0) {
- 			DEBUGP("EOF, this client has just vanished\n");
- 			/* EOF, this client has just vanished */
-@@ -1549,8 +1550,18 @@ static int gsmd_usock_user_cb(int fd, unsigned int what, void *data)
- 			return 0;
- 		} else if (rcvlen < 0)
- 			return rcvlen;
--		else
--			return usock_rcv_pcmd(gu, buf, rcvlen);
-+
-+		gu->usock_len += rcvlen;
-+		gph = (struct gsmd_msg_hdr *) gu->usock_fifo;
-+		while (gu->usock_len >= sizeof(*gph) &&
-+				gu->usock_len >= sizeof(*gph) + gph->len) {
-+			usock_rcv_pcmd(gu, gu->usock_fifo, gu->usock_len);
-+			gu->usock_len -= sizeof(*gph) + gph->len;
-+			memmove(gu->usock_fifo,
-+					gu->usock_fifo + sizeof(*gph) +
-+					gph->len,
-+					gu->usock_len);
-+		}
- 	}
- 
- 	if (what & GSMD_FD_WRITE) {
-@@ -1609,6 +1620,7 @@ static int gsmd_usock_cb(int fd, unsigned int what, void *data)
- 		newuser->gfd.cb = &gsmd_usock_user_cb;
- 		newuser->gsmd = g;
- 		newuser->subscriptions = 0xffffffff;
-+		newuser->usock_len = 0;
- 		INIT_LLIST_HEAD(&newuser->finished_ucmds);
- 		INIT_LLIST_HEAD(&newuser->pb_readrg_list);
- 		INIT_LLIST_HEAD(&newuser->pb_find_list);
--- 
-1.5.2.1
-
diff --git a/meta/recipes-connectivity/gsm/files/0004-Handle-read-and-write-return-values.patch b/meta/recipes-connectivity/gsm/files/0004-Handle-read-and-write-return-values.patch
deleted file mode 100644
index 84a4aa1..0000000
--- a/meta/recipes-connectivity/gsm/files/0004-Handle-read-and-write-return-values.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-From 421b0fa14fefbd13a455c20380fecddda616b41a Mon Sep 17 00:00:00 2001
-From: Andrzej Zaborowski <balrog@zabor.org>
-Date: Wed, 19 Sep 2007 18:30:36 +0200
-Subject: [PATCH] Handle read() and write() return values.
-
----
- include/libgsmd/libgsmd.h    |    3 +-
- src/gsmd/usock.c             |   38 ++++++++++++++++-----------
- src/libgsmd/lgsm_internals.h |    2 +
- src/libgsmd/libgsmd.c        |   58 ++++++++++++++++++++++++++---------------
- 4 files changed, 63 insertions(+), 38 deletions(-)
-
-diff --git a/include/libgsmd/libgsmd.h b/include/libgsmd/libgsmd.h
-index fc56890..db15aa9 100644
---- a/include/libgsmd/libgsmd.h
-+++ b/include/libgsmd/libgsmd.h
-@@ -65,6 +65,7 @@ extern int lgsm_subscriptions(struct lgsm_handle *lh, u_int32_t subscriptions);
- 
- extern struct gsmd_msg_hdr *lgsm_gmh_fill(int type, int subtype, int payload_len);
- extern int lgsm_send(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh);
--extern int lgsm_handle_packet(struct lgsm_handle *lh, char *buf, int len);
-+extern int lgsm_handle_packet(struct lgsm_handle *lh,
-+		const char *buf, int len);
- 
- #endif
-diff --git a/src/gsmd/usock.c b/src/gsmd/usock.c
-index bac5f0c..2283600 100644
---- a/src/gsmd/usock.c
-+++ b/src/gsmd/usock.c
-@@ -1569,23 +1569,29 @@ static int gsmd_usock_user_cb(int fd, unsigned int what, void *data)
- 		struct gsmd_ucmd *ucmd, *uctmp;
- 		llist_for_each_entry_safe(ucmd, uctmp, &gu->finished_ucmds,
- 					  list) {
--			int rc;
--
--			rc = write(fd, &ucmd->hdr, sizeof(ucmd->hdr) + ucmd->hdr.len);
--			if (rc < 0) {
--				DEBUGP("write return %d\n", rc);
--				return rc;
--			}
--			if (rc == 0) {
--				DEBUGP("write returns zero!!\n");
--				break;
-+			const void *pos = &ucmd->hdr;
-+			size_t len = sizeof(ucmd->hdr) + ucmd->hdr.len;
-+
-+			while (len) {
-+				ssize_t rc;
-+
-+				rc = write(fd, pos, len);
-+				if (rc < 0 && errno != EINTR) {
-+					DEBUGP("write returned %s\n",
-+							strerror(errno));
-+					return rc;
-+				}
-+				if (rc == 0 && pos == &ucmd->hdr) {
-+					DEBUGP("write returns zero!!\n");
-+					return 0;
-+				}
-+				if (rc > 0) {
-+					len -= rc;
-+					pos += rc;
-+				}
- 			}
--			if (rc != sizeof(ucmd->hdr) + ucmd->hdr.len) {
--				DEBUGP("short write\n");
--				break;
--			}
--
--			DEBUGP("successfully sent cmd %p to user %p, freeing\n", ucmd, gu);
-+			DEBUGP("successfully sent cmd %p to user %p, "
-+					"freeing\n", ucmd, gu);
- 			llist_del(&ucmd->list);
- 			talloc_free(ucmd);
- 		}
-diff --git a/src/libgsmd/lgsm_internals.h b/src/libgsmd/lgsm_internals.h
-index c826723..f1b1a23 100644
---- a/src/libgsmd/lgsm_internals.h
-+++ b/src/libgsmd/lgsm_internals.h
-@@ -8,6 +8,8 @@ struct lgsm_handle {
- 	int fd;
- 	lgsm_msg_handler *handler[__NUM_GSMD_MSGS];
- 	enum lgsm_netreg_state netreg_state;
-+	char usock_fifo[1024];
-+	int usock_len;
- };
- 
- int lgsm_send(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh);
-diff --git a/src/libgsmd/libgsmd.c b/src/libgsmd/libgsmd.c
-index 9906ea8..cc804ed 100644
---- a/src/libgsmd/libgsmd.c
-+++ b/src/libgsmd/libgsmd.c
-@@ -86,34 +86,37 @@ static int lgsm_open_backend(struct lgsm_handle *lh, const char *device)
- }
- 
- /* handle a packet that was received on the gsmd socket */
--int lgsm_handle_packet(struct lgsm_handle *lh, char *buf, int len)
-+int lgsm_handle_packet(struct lgsm_handle *lh, const char *buf, int len)
- {
- 	struct gsmd_msg_hdr *gmh;
- 	lgsm_msg_handler *handler; 
- 	int rc = 0;
- 
--	while (len) {
--		if (len < sizeof(*gmh))
--			return -EINVAL;
--		gmh = (struct gsmd_msg_hdr *) buf;
--
--		if (len - sizeof(*gmh) < gmh->len)
--			return -EINVAL;
--		len -= sizeof(*gmh) + gmh->len;
--		buf += sizeof(*gmh) + gmh->len;
--
--		if (gmh->msg_type >= __NUM_GSMD_MSGS)
--			return -EINVAL;
--
--		handler = lh->handler[gmh->msg_type];
-+	if (lh->usock_len + len > sizeof(lh->usock_fifo))
-+		return -ENOMEM;
- 
--		if (handler)
-+	memcpy(lh->usock_fifo + lh->usock_len, buf, len);
-+	lh->usock_len += len;
-+	gmh = (struct gsmd_msg_hdr *) lh->usock_fifo;
-+	while (lh->usock_len >= sizeof(*gmh) &&
-+			lh->usock_len >= sizeof(*gmh) + gmh->len) {
-+		if (gmh->msg_type < __NUM_GSMD_MSGS &&
-+			(handler = lh->handler[gmh->msg_type]))
- 			rc |= handler(lh, gmh);
--		else
--			fprintf(stderr, "unable to handle packet type=%u\n",
--					gmh->msg_type);
-+		else {
-+			fprintf(stderr, "unable to handle packet "
-+					"type=%u id=%u\n",
-+					gmh->msg_type, gmh->id);
-+			rc |= EINVAL;
-+		}
-+
-+		lh->usock_len -= gmh->len + sizeof(*gmh);
-+		memmove(lh->usock_fifo,
-+				lh->usock_fifo + gmh->len + sizeof(*gmh),
-+				lh->usock_len);
- 	}
--	return rc;
-+
-+	return -rc;
- }
- 
- int lgsm_register_handler(struct lgsm_handle *lh, int type, lgsm_msg_handler *handler)
-@@ -193,8 +196,21 @@ static u_int16_t next_msg_id;
- 
- int lgsm_send(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
- {
-+	ssize_t rc;
-+	size_t len = sizeof(*gmh) + gmh->len;
-+	const void *pos = gmh;
-+
- 	gmh->id = next_msg_id++;
--	return send(lh->fd, (char *) gmh, sizeof(*gmh) + gmh->len, 0);
-+	while (len) {
-+		rc = send(lh->fd, pos, len, 0);
-+		if (rc < 0 && errno != EINTR)
-+			return -errno;
-+		if (rc > 0) {
-+			len -= rc;
-+			pos += rc;
-+		}
-+	}
-+	return 0;
- }
- 
- struct gsmd_msg_hdr *lgsm_gmh_fill(int type, int subtype, int payload_len)
--- 
-1.5.2.1
-
diff --git a/meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch b/meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
deleted file mode 100644
index faf0e8a..0000000
--- a/meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-diff --git a/include/gsmd/usock.h b/include/gsmd/usock.h
-index 236ad78..66cdf48 100644
---- a/include/gsmd/usock.h
-+++ b/include/gsmd/usock.h
-@@ -332,6 +332,7 @@ struct gsmd_sms {
- struct gsmd_sms_submit {
- 	struct gsmd_addr addr;
- 	struct gsmd_sms payload;
-+	int ask_ds;
- };
- 
- /* Refer to GSM 07.05 subclause 4.4 */
-diff --git a/include/libgsmd/sms.h b/include/libgsmd/sms.h
-index 3ada62d..9808442 100644
---- a/include/libgsmd/sms.h
-+++ b/include/libgsmd/sms.h
-@@ -46,6 +46,7 @@ struct lgsm_sms {
- 	enum gsmd_sms_alphabet alpha;
- 	u_int8_t data[LGSM_SMS_DATA_MAXLEN+1];
- 	int length;
-+	int ask_ds;
- };
- 
- /* GSM 03.40 subclause 9.2.2.2 and GSM 07.05 subclause 4.4 and subclause 3.1 */
-diff --git a/src/gsmd/sms_pdu.c b/src/gsmd/sms_pdu.c
-index d1235dd..d461999 100644
---- a/src/gsmd/sms_pdu.c
-+++ b/src/gsmd/sms_pdu.c
-@@ -247,7 +247,8 @@ int sms_pdu_make_smssubmit(char *dest, const struct gsmd_sms_submit *src)
- 		GSMD_SMS_TP_MTI_SUBMIT |
- 		(0 << 2) |		/* Reject Duplicates: 0 */
- 		GSMD_SMS_TP_VPF_NOT_PRESENT |
--		GSMD_SMS_TP_SRR_STATUS_REQUEST |
-+		(src->ask_ds ? GSMD_SMS_TP_SRR_STATUS_REQUEST :
-+		 GSMD_SMS_TP_SRR_NOT_REQUEST) |
- 		(src->payload.has_header ? GSMD_SMS_TP_UDHI_WITH_HEADER :
- 		 GSMD_SMS_TP_UDHI_NO_HEADER) |
- 		GSMD_SMS_TP_RP_NOT_SET;
-diff --git a/src/libgsmd/libgsmd_sms.c b/src/libgsmd/libgsmd_sms.c
-index 22d7dbf..bbc8689 100644
---- a/src/libgsmd/libgsmd_sms.c
-+++ b/src/libgsmd/libgsmd_sms.c
-@@ -126,6 +126,7 @@ int lgsm_sms_send(struct lgsm_handle *lh,
- 	if (lgsm_number2addr(&gss->addr, sms->addr, 1))
- 		return -EINVAL;
- 
-+	gss->ask_ds = sms->ask_ds;
- 	gss->payload.has_header = 0;
- 	gss->payload.length = sms->length;
- 	gss->payload.coding_scheme = sms->alpha;
-@@ -161,6 +162,7 @@ int lgsm_sms_write(struct lgsm_handle *lh,
- 	if (lgsm_number2addr(&gsw->sms.addr, sms_write->sms.addr, 1))
- 		return -EINVAL;
- 
-+	gsw->sms.ask_ds = sms_write->sms.ask_ds;
- 	gsw->sms.payload.has_header = 0;
- 	gsw->sms.payload.length = sms_write->sms.length;
- 	gsw->sms.payload.coding_scheme = sms_write->sms.alpha;
-diff --git a/src/util/shell.c b/src/util/shell.c
-index f902126..f26e17e 100644
---- a/src/util/shell.c
-+++ b/src/util/shell.c
-@@ -355,7 +355,7 @@ static int shell_help(void)
- 		"\tsd\tSMS Delete (sd=index,delflg)\n"
- 		"\tsl\tSMS List (sl=stat)\n"
- 		"\tsr\tSMS Read (sr=index)\n"
--		"\tss\tSMS Send (ss=number,text|[\"text\"])\n"
-+		"\tss\tSMS Send (ss=ask_ds,number,text|[\"text\"])\n"
- 		"\tsw\tSMS Write (sw=stat,number,text)\n"
- 		"\tsm\tSMS Storage stats\n"
- 		"\tsM\tSMS Set preferred storage (sM=mem1,mem2,mem3)\n"
-@@ -563,33 +563,29 @@ int shell_main(struct lgsm_handle *lgsmh)
- 				struct lgsm_sms sms;
- 
- 				ptr = strchr(buf, '=');
-+				sms.ask_ds = atoi(ptr+1);
- 				fcomma = strchr(buf, ',');
--				if (!ptr || !fcomma) {
--					printf("Wrong command format\n");
--				} else {
--					strncpy(sms.addr, ptr+1, fcomma-ptr-1);
--					sms.addr[fcomma-ptr-1] = '\0';
--
--					/* todo define \" to allow " in text */
--					if (fcomma[1] == '"' &&
--						!strchr(fcomma+2, '"')) {
-+				lcomma = strchr(fcomma+1, ',');
-+				strncpy(sms.addr, fcomma+1, lcomma-fcomma-1);
-+				sms.addr[lcomma-fcomma-1] = '\0';
-+				/* todo define \" to allow " in text */
-+				if (lcomma[1]=='"' &&
-+						!strchr(lcomma+2, '"')) {
- 						/* read until closing '"' */
- 						rc = fscanf(stdin, "%[^\"]\"",
--							fcomma+strlen(fcomma));
-+							lcomma+strlen(lcomma));
- 						if (rc == EOF) {
- 							printf("EOF\n");
- 							return -1;
- 						}
- 						/* remove brackets */
--						fcomma++;
--						fcomma[strlen(fcomma)] = '\0';
--					}
--
--					printf("Send SMS\n");
--					packing_7bit_character(fcomma+1, &sms);
-+						lcomma++;
-+						lcomma[strlen(lcomma)] = '\0';
-+				}				
-+				printf("Send SMS\n");
-+				packing_7bit_character(lcomma+1, &sms);
- 
--					lgsm_sms_send(lgsmh, &sms);
--				}
-+				lgsm_sms_send(lgsmh, &sms);
- 			} else if ( !strncmp(buf, "sw", 2)) {	
- 				printf("Write SMS\n");				
- 				struct lgsm_sms_write sms_write;
-@@ -603,6 +599,7 @@ int shell_main(struct lgsm_handle *lgsmh)
- 				sms_write.sms.addr[lcomma-fcomma-1] = '\0';
- 				packing_7bit_character(
- 						lcomma+1, &sms_write.sms);
-+				sms_write.sms.ask_ds = 0;
- 
- 				lgsm_sms_write(lgsmh, &sms_write);
- 			} else if (!strncmp(buf, "sm", 2)) {
--- 
-1.5.2.1
-
diff --git a/meta/recipes-connectivity/gsm/files/024_sms-text-in-bracket.patch b/meta/recipes-connectivity/gsm/files/024_sms-text-in-bracket.patch
deleted file mode 100644
index 3aa13df..0000000
--- a/meta/recipes-connectivity/gsm/files/024_sms-text-in-bracket.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=834
-
-From: Kristian Mueller <kristian@mput.de>
-Subject: [PATCH] libgsmd-tool does not allow sms with more than one word
-
-libgsmd-tool only allows for command strings without spaces. 
-SMS messages with more than one word will be parsed as multible commands.
-The patch introduces SMS message text in bracket and fixes a NULL pointer
-reference on mailformed "ss" commands.
-
-Signed-off-by: Jim Huang <jserv@openmoko.org>
-
-Upstream-Status: Inappropriate [not used]
----
- src/util/shell.c |   32 ++++++++++++++++++++++++++------
- 1 file changed, 26 insertions(+), 6 deletions(-)
-
-Index: gsm/src/util/shell.c
-===================================================================
---- gsm.orig/src/util/shell.c	2007-08-31 16:15:30.000000000 +0800
-+++ gsm/src/util/shell.c	2007-09-17 23:35:31.000000000 +0800
-@@ -389,7 +389,7 @@
- 		"\tsd\tSMS Delete (sd=index,delflg)\n"
- 		"\tsl\tSMS List (sl=stat)\n"
- 		"\tsr\tSMS Read (sr=index)\n"
--		"\tss\tSMS Send (ss=number,text)\n"
-+		"\tss\tSMS Send (ss=number,text|[\"text\"])\n"
- 		"\tsw\tSMS Write (sw=stat,number,text)\n"
- 		"\tsm\tSMS Storage stats\n"
- 		"\tsM\tSMS Set preferred storage (sM=mem1,mem2,mem3)\n"
-@@ -612,16 +612,36 @@
- 					
- 				lgsm_sms_read(lgsmh, atoi(ptr+1));				
- 			} else if ( !strncmp(buf, "ss", 2)) {
--				printf("Send SMS\n");		
- 				struct lgsm_sms sms;
- 
- 				ptr = strchr(buf, '=');
- 				fcomma = strchr(buf, ',');
--				strncpy(sms.addr, ptr+1, fcomma-ptr-1);
--				sms.addr[fcomma-ptr-1] = '\0';
--				packing_7bit_character(fcomma+1, &sms);
-+				if (!ptr || !fcomma) {
-+					printf("Wrong command format\n");
-+				} else {
-+					strncpy(sms.addr, ptr+1, fcomma-ptr-1);
-+					sms.addr[fcomma-ptr-1] = '\0';
-+
-+					/* todo define \" to allow " in text */
-+					if (fcomma[1] == '"' &&
-+						!strchr(fcomma+2, '"')) {
-+						/* read until closing '"' */
-+						rc = fscanf(stdin, "%[^\"]\"",
-+							fcomma+strlen(fcomma));
-+						if (rc == EOF) {
-+							printf("EOF\n");
-+							return -1;
-+						}
-+						/* remove brackets */
-+						fcomma++;
-+						fcomma[strlen(fcomma)] = '\0';
-+					}
-+
-+					printf("Send SMS\n");
-+					packing_7bit_character(fcomma+1, &sms);
- 
--				lgsm_sms_send(lgsmh, &sms);
-+					lgsm_sms_send(lgsmh, &sms);
-+				}
- 			} else if ( !strncmp(buf, "sw", 2)) {	
- 				printf("Write SMS\n");				
- 				struct lgsm_sms_write sms_write;
diff --git a/meta/recipes-connectivity/gsm/files/025_sms-status-report.patch b/meta/recipes-connectivity/gsm/files/025_sms-status-report.patch
deleted file mode 100644
index a0f466a..0000000
--- a/meta/recipes-connectivity/gsm/files/025_sms-status-report.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-From: Erin Yueh <erin_yueh@openmoko.com>
-Subject: [PATCH] SMS status report
-
-I made a patch for SMS status report. It can change SMS-Submit messages
-and ask for a status report. When  the destination address receives our
-message, the service center will send a SMS-STATUS-REPORT to us. We can
-tell what messages we sent by TP-MR (message reference number) value and
-can know the sending result by TP-ST (Status) value from status report
-messages.
-
-PS. if you don't want to ask a status report, you can change this value
-back. Replace "GSMD_SMS_TP_SRR_STATUS_REQUEST" with
-"GSMD_SMS_TP_SRR_NOT_REQUEST".
-header[pos ++] =
-                GSMD_SMS_TP_MTI_SUBMIT |
-                (0 << 2) |              /* Reject Duplicates: 0 */
-                GSMD_SMS_TP_VPF_NOT_PRESENT |
--               GSMD_SMS_TP_SRR_NOT_REQUEST |
-+               GSMD_SMS_TP_SRR_STATUS_REQUEST |
-                (src->payload.has_header ? GSMD_SMS_TP_UDHI_WITH_HEADER :
-                 GSMD_SMS_TP_UDHI_NO_HEADER) |
-                GSMD_SMS_TP_RP_NOT_SET;
-
-Signed-off-by: Jim Huang <jserv@openmoko.org>
----
- src/gsmd/sms_pdu.c |   54 +++++++++++++++++++++++++++++++++++++++++++-----------
- src/util/event.c   |    6 +++++-
- 2 files changed, 48 insertions(+), 12 deletions(-)
-
-Index: gsm/src/gsmd/sms_pdu.c
-===================================================================
---- gsm.orig/src/gsmd/sms_pdu.c	2007-09-06 11:14:34.000000000 +0800
-+++ gsm/src/gsmd/sms_pdu.c	2007-09-17 23:39:20.000000000 +0800
-@@ -139,6 +139,17 @@
- 		/* Skip TP-PID */
- 		len -= 9;
- 		src += 9;
-+
-+		/* TP-UDL */
-+		dst->payload.length = src[0];
-+		i = sms_data_bytelen(dst->payload.coding_scheme, src[0]);
-+
-+		/* TP-UD */
-+		if (len < 1 + i || i > GSMD_SMS_DATA_MAXLEN)
-+			return 1;
-+		memcpy(dst->payload.data, src + 1, i);
-+		dst->payload.data[i] = 0;
-+
- 		break;
- 	case GSMD_SMS_TP_MTI_SUBMIT:
- 		if (len < 4)
-@@ -179,23 +190,44 @@
- 		src += vpf ? 3 : 2;
- 
- 		memset(dst->time_stamp, 0, 7);
-+
-+		/* TP-UDL */
-+		dst->payload.length = src[0];
-+		i = sms_data_bytelen(dst->payload.coding_scheme, src[0]);
-+
-+		/* TP-UD */
-+		if (len < 1 + i || i > GSMD_SMS_DATA_MAXLEN)
-+			return 1;
-+		memcpy(dst->payload.data, src + 1, i);
-+		dst->payload.data[i] = 0;
- 		break;
- 	case GSMD_SMS_TP_MTI_STATUS_REPORT:
--		/* TODO */
-+		if (len < 3)
-+			return 1;
-+
-+		/* TP-MR set it gsmd_sms_list.index*/
-+		dst->index = (int) src[1];
-+		/* TP-STATUS set it to coding_scheme */
-+		dst->payload.coding_scheme = (int) src[len-1];
-+		/* TP-RA */
-+		i = sms_number_bytelen(src[3], src[2]);
-+		if (len < 13 + i)
-+			return 1;
-+		if (sms_address2ascii(&dst->addr, src + 2))
-+			return 1;
-+		len -= 4 + i;
-+		src += 4 + i;
-+		/* TP-SCTS */
-+		memcpy(dst->time_stamp, src, 7);
-+		/* TP-UD  */
-+		dst->payload.length = 0;
-+		dst->payload.data[0] = 0;
-+		break;
- 	default:
- 		/* Unknown PDU type */
- 		return 1;
- 	}
- 
--	/* TP-UDL */
--	dst->payload.length = src[0];
--	i = sms_data_bytelen(dst->payload.coding_scheme, src[0]);
--
--	/* TP-UD */
--	if (len < 1 + i || i > GSMD_SMS_DATA_MAXLEN)
--		return 1;
--	memcpy(dst->payload.data, src + 1, i);
--	dst->payload.data[i] = 0;
- 
- 	return 0;
- }
-@@ -215,7 +247,7 @@
- 		GSMD_SMS_TP_MTI_SUBMIT |
- 		(0 << 2) |		/* Reject Duplicates: 0 */
- 		GSMD_SMS_TP_VPF_NOT_PRESENT |
--		GSMD_SMS_TP_SRR_NOT_REQUEST |
-+		GSMD_SMS_TP_SRR_STATUS_REQUEST |
- 		(src->payload.has_header ? GSMD_SMS_TP_UDHI_WITH_HEADER :
- 		 GSMD_SMS_TP_UDHI_NO_HEADER) |
- 		GSMD_SMS_TP_RP_NOT_SET;
-Index: gsm/src/util/event.c
-===================================================================
---- gsm.orig/src/util/event.c	2007-09-06 11:14:34.000000000 +0800
-+++ gsm/src/util/event.c	2007-09-17 23:39:47.000000000 +0800
-@@ -128,8 +128,12 @@
- static int inds_handler(struct lgsm_handle *lh, int evt,
- 		struct gsmd_evt_auxdata *aux)
- {
--	if (aux->u.ds.inlined)
-+	if (aux->u.ds.inlined) {
-+		struct gsmd_sms_list *sms;
-+		sms = (struct gsmd_sms_list *) aux->data;
- 		printf("EVENT: Incoming Status Report\n");
-+		printf("message ref = %d, status = %d\n", sms->index,sms->payload.coding_scheme);
-+	}
- 	else
- 		printf("EVENT: Incoming Status Report stored at location %i\n",
- 				aux->u.ds.index);
diff --git a/meta/recipes-connectivity/gsm/files/027_phonebook-find-and-read-range-support.patch b/meta/recipes-connectivity/gsm/files/027_phonebook-find-and-read-range-support.patch
deleted file mode 100644
index c94e4b2..0000000
--- a/meta/recipes-connectivity/gsm/files/027_phonebook-find-and-read-range-support.patch
+++ /dev/null
@@ -1,425 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-From: Sean Chiang <sean_chiang@openmoko.com>
-Subject: [PATCH] Improvement for find and read phonebooks in gsmd
-
-This patch is an improvement for find and read phonebooks.
-After clients make a request to find / read phonebooks, then clients
-should make a request to retrieve all the records.
-
-Signed-off-by: Jim Huang <jserv@openmoko.org>
----
- include/gsmd/gsmd.h             |    3 
- include/gsmd/usock.h            |   20 +++-
- include/libgsmd/phonebook.h     |    6 +
- src/gsmd/usock.c                |  184 +++++++++++++++++++++++++++++++++++-----
- src/libgsmd/libgsmd_phonebook.c |   48 ++++++++++
- 5 files changed, 238 insertions(+), 23 deletions(-)
-
-Index: gsm/include/libgsmd/phonebook.h
-===================================================================
---- gsm.orig/include/libgsmd/phonebook.h	2007-08-31 16:15:29.000000000 +0800
-+++ gsm/include/libgsmd/phonebook.h	2007-09-17 23:48:41.000000000 +0800
-@@ -106,4 +106,10 @@
- /* Get the location range/nlength/tlength supported */
- extern int lgsm_pb_get_support(struct lgsm_handle *lh);
- 
-+/* Retrieve the records of READRG request */
-+extern int lgsm_pb_retrieve_readrg(struct lgsm_handle *lh, int num);
-+
-+/* Retrieve the records of FIND request */
-+extern int lgsm_pb_retrieve_find(struct lgsm_handle *lh, int num);
-+
- #endif
-Index: gsm/include/gsmd/gsmd.h
-===================================================================
---- gsm.orig/include/gsmd/gsmd.h	2007-08-31 16:15:29.000000000 +0800
-+++ gsm/include/gsmd/gsmd.h	2007-09-17 23:48:41.000000000 +0800
-@@ -92,6 +92,9 @@
- 	struct gsmd *gsmd;
- 	struct gsmd_fd gfd;				/* the socket */
- 	u_int32_t subscriptions;		/* bitmaks of subscribed event groups */
-+
-+	struct llist_head pb_readrg_list;	/* our READRG phonebook list */
-+	struct llist_head pb_find_list;		/* our FIND phonebook list */
- };
- 
- #define GSMD_DEBUG	1	/* debugging information */
-Index: gsm/include/gsmd/usock.h
-===================================================================
---- gsm.orig/include/gsmd/usock.h	2007-08-31 16:15:29.000000000 +0800
-+++ gsm/include/gsmd/usock.h	2007-09-17 23:48:56.000000000 +0800
-@@ -194,6 +194,8 @@
- 	GSMD_PHONEBOOK_GET_SUPPORT	= 6,
- 	GSMD_PHONEBOOK_LIST_STORAGE	= 7,
- 	GSMD_PHONEBOOK_SET_STORAGE	= 8,
-+	GSMD_PHONEBOOK_RETRIEVE_READRG	= 9,
-+	GSMD_PHONEBOOK_RETRIEVE_FIND	= 10,
- };
- 
- /* Type-of-Address, Numbering-Plan-Identification field, GSM 03.40, 9.1.2.5 */
-@@ -431,7 +433,6 @@
- 	char text[GSMD_PB_TEXT_MAXLEN+1];
- } __attribute__ ((packed));
- 
--
- /* Refer to GSM 07.07 subclause 8.13 */
- /* FIXME: the tlength depends on SIM, use +CPBR=? to get */ 
- struct gsmd_phonebook_find {	
-@@ -471,8 +472,18 @@
- 	char opname_longalpha[16];
- };
- 
-+/* Refer to GSM 07.07 subclause 8.11 */
-+struct gsmd_phonebook_mem {
-+	u_int8_t type[3];
-+	u_int8_t pad;
-+	u_int16_t used;
-+	u_int16_t total;
-+} __attribute__ ((packed));
-+
- struct gsmd_phonebook_storage {
--	char storage[3];
-+	/* FIXME the amount of phonebook storage should be dynamic */
-+	u_int8_t num;
-+	struct gsmd_phonebook_mem mem[20];
- } __attribute__ ((packed));
- 
- /* Subscriber number information from 3GPP TS 07.07, Clause 7.1 */
-@@ -517,6 +528,11 @@
- 	char buf[];
- } __attribute__ ((packed));
- 
-+struct gsmd_phonebooks {
-+	struct llist_head list;
-+	struct gsmd_phonebook pb;
-+} __attribute__ ((packed));
-+
- extern struct gsmd_ucmd *ucmd_alloc(int extra_size);
- extern int usock_init(struct gsmd *g);
- extern void usock_cmd_enqueue(struct gsmd_ucmd *ucmd, struct gsmd_user *gu);
-Index: gsm/src/libgsmd/libgsmd_phonebook.c
-===================================================================
---- gsm.orig/src/libgsmd/libgsmd_phonebook.c	2007-08-31 16:15:29.000000000 +0800
-+++ gsm/src/libgsmd/libgsmd_phonebook.c	2007-09-17 23:48:41.000000000 +0800
-@@ -33,7 +33,7 @@
- 	gmh->data[2] = '\0';
- 
- 	rc = lgsm_send(lh, gmh);
--	if (rc < gmh->len + 3) {
-+	if (rc < gmh->len + sizeof(*gmh)) {
- 		lgsm_gmh_free(gmh);
- 		return -EIO;
- 	}
-@@ -177,3 +177,49 @@
- {
- 	return lgsm_send_simple(lh, GSMD_MSG_PHONEBOOK, GSMD_PHONEBOOK_GET_SUPPORT);
- }
-+
-+int lgsm_pb_retrieve_readrg(struct lgsm_handle *lh, int num)
-+{
-+	struct gsmd_msg_hdr *gmh;
-+	int rc;
-+
-+	gmh = lgsm_gmh_fill(GSMD_MSG_PHONEBOOK,
-+			GSMD_PHONEBOOK_RETRIEVE_READRG, sizeof(int));
-+	if (!gmh)
-+		return -ENOMEM;
-+
-+	*(int *)(gmh->data) = num;
-+
-+	rc = lgsm_send(lh, gmh);
-+	if (rc < gmh->len + sizeof(*gmh)) {
-+		lgsm_gmh_free(gmh);
-+		return -EIO;
-+	}
-+
-+	lgsm_gmh_free(gmh);
-+
-+	return 0;
-+}
-+
-+int lgsm_pb_retrieve_find(struct lgsm_handle *lh, int num)
-+{
-+	struct gsmd_msg_hdr *gmh;
-+	int rc;
-+
-+	gmh = lgsm_gmh_fill(GSMD_MSG_PHONEBOOK,
-+			GSMD_PHONEBOOK_RETRIEVE_FIND, sizeof(int));
-+	if (!gmh)
-+		return -ENOMEM;
-+
-+	*(int *)(gmh->data) = num;
-+
-+	rc = lgsm_send(lh, gmh);
-+	if (rc < gmh->len + sizeof(*gmh)) {
-+		lgsm_gmh_free(gmh);
-+		return -EIO;
-+	}
-+
-+	lgsm_gmh_free(gmh);
-+
-+	return 0;
-+}
-Index: gsm/src/gsmd/usock.c
-===================================================================
---- gsm.orig/src/gsmd/usock.c	2007-08-31 16:15:30.000000000 +0800
-+++ gsm/src/gsmd/usock.c	2007-09-17 23:53:34.000000000 +0800
-@@ -1035,21 +1035,56 @@
- 
- static int phonebook_find_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp)
- {
--	struct gsmd_user *gu = ctx;	
--	struct gsmd_ucmd *ucmd;			
--	
-+	struct gsmd_user *gu = ctx;
-+	struct gsmd_ucmd *ucmd;
-+	struct gsmd_phonebooks *gps;
-+	char *fcomma, *lcomma, *ptr1, *ptr2 = NULL;
-+	int *num;
-+
- 	DEBUGP("resp: %s\n", resp);
- 
--	/* FIXME: using link list, also we need to handle the case of
--	 * no query result */
--	ucmd = gsmd_ucmd_fill(strlen(resp) + 1, GSMD_MSG_PHONEBOOK,
-+	/*
-+	 * [+CPBF: <index1>,<number>,<type>,<text>[[...]
-+	 * <CR><LF>+CPBF: <index2>,<unmber>,<type>,<text>]]
-+	 */
-+	ucmd = gsmd_ucmd_fill(sizeof(int), GSMD_MSG_PHONEBOOK,
- 			      GSMD_PHONEBOOK_FIND, 0);
- 	if (!ucmd)
- 		return -ENOMEM;	
- 
--	strcpy(ucmd->buf, resp);
-+	num = (int*) ucmd->buf;
-+
-+	*num = 0;
-+
-+	ptr1 = strtok(resp, "\n");
-+
-+	while (ptr1) {
-+		gps = (struct gsmd_phonebooks *) malloc(sizeof(struct gsmd_phonebooks));
-+		ptr2 = strchr(ptr1, ' ');
-+		gps->pb.index = atoi(ptr2+1);
-+
-+		fcomma = strchr(ptr1, '"');
-+		lcomma = strchr(fcomma+1, '"');
-+		strncpy(gps->pb.numb, fcomma + 1, (lcomma-fcomma-1));
-+		gps->pb.numb[(lcomma - fcomma) - 1] = '\0';
-+
-+		gps->pb.type = atoi(lcomma + 2);
-+
-+		ptr2 = strrchr(ptr1, ',');
-+		fcomma = ptr2 + 1;
-+		lcomma = strchr(fcomma + 1, '"');
-+		strncpy(gps->pb.text, fcomma + 1, (lcomma - fcomma - 1));
-+		gps->pb.text[(lcomma - fcomma) - 1] = '\0';
-+
-+		llist_add_tail(&gps->list, &gu->pb_find_list);
-+
-+		(*num)++;
-+
-+		ptr1 = strtok(NULL, "\n");
-+	}
- 
- 	usock_cmd_enqueue(ucmd, gu);
-+
- 	return 0;
- }
- 
-@@ -1102,22 +1137,51 @@
- {
- 	struct gsmd_user *gu = ctx;
- 	struct gsmd_ucmd *ucmd;
-+	struct gsmd_phonebooks *gps;
-+	char *fcomma, *lcomma, *ptr1, *ptr2 = NULL;
-+	int *num;
- 
- 	DEBUGP("resp: %s\n", resp);
- 
- 	/*
--	 * +CPBR: 4,"1234",129,"6C5F745E7965"
--	 * +CPBR: 5,"5678",129,"800062115BB6"
--	 * +CPBR: 6,"7890",129,"810280AA591A"
--	 * +CPBR: 8,"36874",129,"005300650061006E"
--	 *
-+	 * [+CPBR: <index1>,<number>,<type>,<text>[[...]
-+	 * <CR><LF>+CPBR: <index2>,<unmber>,<type>,<text>]]
- 	 */
--	ucmd = gsmd_ucmd_fill(strlen(resp)+1, GSMD_MSG_PHONEBOOK,
-+	ucmd = gsmd_ucmd_fill(sizeof(int), GSMD_MSG_PHONEBOOK,
- 			      GSMD_PHONEBOOK_READRG, 0);
- 	if (!ucmd)
- 		return -ENOMEM;	
- 
--	strcpy(ucmd->buf, resp);
-+	num = (int*) ucmd->buf;
-+
-+	*num = 0;
-+
-+	ptr1 = strtok(resp, "\n");
-+
-+	while(ptr1) {
-+		gps = (struct gsmd_phonebooks *) malloc(sizeof(struct gsmd_phonebooks));
-+		ptr2 = strchr(ptr1, ' ');
-+		gps->pb.index = atoi(ptr2+1);
-+
-+		fcomma = strchr(ptr1, '"');
-+		lcomma = strchr(fcomma+1, '"');
-+		strncpy(gps->pb.numb, fcomma + 1, (lcomma-fcomma-1));
-+		gps->pb.numb[(lcomma - fcomma) - 1] = '\0';
-+
-+		gps->pb.type = atoi(lcomma + 2);
-+
-+		ptr2 = strrchr(ptr1, ',');
-+		fcomma = ptr2 + 1;
-+		lcomma = strchr(fcomma + 1, '"');
-+		strncpy(gps->pb.text, fcomma + 1, (lcomma - fcomma - 1));
-+		gps->pb.text[(lcomma - fcomma) - 1] = '\0';
-+
-+		llist_add_tail(&gps->list, &gu->pb_readrg_list);
-+
-+		(*num)++;
-+
-+		ptr1 = strtok(NULL, "\n");
-+	}
- 
- 	usock_cmd_enqueue(ucmd, gu);
- 
-@@ -1209,22 +1273,38 @@
- static int phonebook_list_storage_cb(struct gsmd_atcmd *cmd,
- 		void *ctx, char *resp)
- {
--	/* +CPBS: ("EN","BD","FD","DC","LD","RC","LR","MT","AD",
--	 *         "SM","SD","MC","LM","AF","ON","UD") */
- 	/* TODO; using link list ; need to handle command error */
- 	struct gsmd_user *gu = ctx;
- 	struct gsmd_ucmd *ucmd;
-+	struct gsmd_phonebook_storage *gps;
-+	char *ptr;
- 
- 	DEBUGP("resp: %s\n", resp);
- 
--	ucmd = gsmd_ucmd_fill(strlen(resp) + 1,
-+	/*
-+	 * +CPBS: (<storage>s)
-+	 */
-+
-+	ucmd = gsmd_ucmd_fill(sizeof(*gps),
- 			GSMD_MSG_PHONEBOOK,
- 			GSMD_PHONEBOOK_LIST_STORAGE, 0);
- 
-         if (!ucmd)
- 		return -ENOMEM;
- 
--	strcpy(ucmd->buf, resp);
-+	gps = (struct gsmd_phonebook_storage *) ucmd->buf;
-+	gps->num = 0;
-+
-+	if (!strncmp(resp, "+CPBS", 5)) {
-+		char* delim = "(,";
-+		ptr = strpbrk(resp, delim);
-+		while ( ptr ) {
-+			strncpy(gps->mem[gps->num].type, ptr+2, 2);
-+			gps->mem[gps->num].type[2] = '\0';
-+			ptr = strpbrk(ptr+2, delim);
-+			gps->num++;
-+		}
-+	}
- 
- 	usock_cmd_enqueue(ucmd, gu);
- 
-@@ -1235,11 +1315,13 @@
- 		struct gsmd_msg_hdr *gph,int len)
- {	
- 	struct gsmd_atcmd *cmd = NULL;
-+	struct gsmd_ucmd *ucmd = NULL;
- 	struct gsmd_phonebook_readrg *gpr;
- 	struct gsmd_phonebook *gp;
- 	struct gsmd_phonebook_find *gpf;
--	int *index;
--	int atcmd_len;
-+	struct gsmd_phonebooks *cur, *cur2;
-+	int *index, *num;
-+	int atcmd_len, i;
- 	char *storage;
- 	char buf[1024];
- 
-@@ -1343,6 +1425,66 @@
- 		cmd = atcmd_fill("AT+CPBR=?", 9+1,
- 				 &phonebook_get_support_cb, gu, gph->id);
- 		break;
-+	case GSMD_PHONEBOOK_RETRIEVE_READRG:
-+		if (len < sizeof(*gph) + sizeof(int))
-+			return -EINVAL;
-+
-+		num = (int *) ((void *)gph + sizeof(*gph));
-+
-+		ucmd = gsmd_ucmd_fill(sizeof(struct gsmd_phonebook)*(*num),
-+				GSMD_MSG_PHONEBOOK,
-+				GSMD_PHONEBOOK_RETRIEVE_READRG, 0);
-+		if (!ucmd)
-+			return -ENOMEM;
-+
-+		gp = (struct gsmd_phonebook*) ucmd->buf;
-+
-+		if (!llist_empty(&gu->pb_readrg_list)) {
-+
-+			llist_for_each_entry_safe(cur, cur2,
-+					&gu->pb_readrg_list, list) {
-+				gp->index = cur->pb.index;
-+				strcpy(gp->numb, cur->pb.numb);
-+				gp->type = cur->pb.type;
-+				strcpy(gp->text, cur->pb.text);
-+				gp++;
-+
-+				llist_del(&cur->list);
-+				free(cur);
-+			}
-+		}
-+
-+		usock_cmd_enqueue(ucmd, gu);
-+
-+		break;
-+	case GSMD_PHONEBOOK_RETRIEVE_FIND:
-+		if (len < sizeof(*gph) + sizeof(int))
-+			return -EINVAL;
-+
-+		num = (int *) ((void *)gph + sizeof(*gph));
-+
-+		ucmd = gsmd_ucmd_fill(sizeof(struct gsmd_phonebook)*(*num), GSMD_MSG_PHONEBOOK,
-+				      GSMD_PHONEBOOK_RETRIEVE_FIND, 0);
-+		if (!ucmd)
-+			return -ENOMEM;
-+
-+		gp = (struct gsmd_phonebook*) ucmd->buf;
-+
-+		if (!llist_empty(&gu->pb_find_list)) {
-+			llist_for_each_entry_safe(cur, cur2, &gu->pb_find_list, list) {
-+				gp->index = cur->pb.index;
-+				strcpy(gp->numb, cur->pb.numb);
-+				gp->type = cur->pb.type;
-+				strcpy(gp->text, cur->pb.text);
-+				gp++;
-+
-+				llist_del(&cur->list);
-+				free(cur);
-+			}
-+		}
-+
-+		usock_cmd_enqueue(ucmd, gu);
-+		break;
- 	default:
- 		return -EINVAL;
- 	}	
-@@ -1468,6 +1610,8 @@
- 		newuser->gsmd = g;
- 		newuser->subscriptions = 0xffffffff;
- 		INIT_LLIST_HEAD(&newuser->finished_ucmds);
-+		INIT_LLIST_HEAD(&newuser->pb_readrg_list);
-+		INIT_LLIST_HEAD(&newuser->pb_find_list);
- 
- 		llist_add(&newuser->list, &g->users);
- 		gsmd_register_fd(&newuser->gfd);
diff --git a/meta/recipes-connectivity/gsm/files/028_shell-phonebook-find-and-read-range-support.patch b/meta/recipes-connectivity/gsm/files/028_shell-phonebook-find-and-read-range-support.patch
deleted file mode 100644
index a531fa8..0000000
--- a/meta/recipes-connectivity/gsm/files/028_shell-phonebook-find-and-read-range-support.patch
+++ /dev/null
@@ -1,266 +0,0 @@
-From: Sean Chiang <sean_chiang@openmoko.com>
-Subject: [PATCH] improvement for find and read phonebooks in shell
-
-This patch improves the functions to find and read phonebooks in shell.
-
-Besides prr and pf, I add two new commands pRr and pRf to retrieve the
-phonebook.
-
-Signed-off-by: Jim Huang <jserv@openmoko.org>
-
-Upstream-Status: Inappropriate [not used]
-
-Index: gsm/src/util/shell.c
-===================================================================
---- gsm.orig/src/util/shell.c	2007-09-17 23:57:51.000000000 +0800
-+++ gsm/src/util/shell.c	2007-09-17 23:59:04.000000000 +0800
-@@ -34,8 +34,6 @@
- #include <gsmd/usock.h>
- #include <gsmd/ts0705.h>
- 
--#include <common/linux_list.h>
--
- #ifndef __GSMD__
- #define __GSMD__
- #include <gsmd/talloc.h>
-@@ -43,9 +41,8 @@
- #endif
- 
- #define STDIN_BUF_SIZE	1024
--
--static LLIST_HEAD(storage_list);
--static LLIST_HEAD(phonebook_list);
-+static int nFIND = 0;
-+static int nREADRG = 0;
- 
- /* this is the handler for receiving passthrough responses */
- static int pt_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
-@@ -62,46 +59,23 @@
- 	struct gsmd_phonebook_storage *gpst;
- 	char *payload;
- 	char *fcomma, *lcomma, *ptr = NULL;
-+	int *num;
- 	char buf[128];
-+	int i;
- 
- 	switch (gmh->msg_subtype) {
--#if 0
- 	case GSMD_PHONEBOOK_FIND:		
-+		num = (int *) ((char *)gmh + sizeof(*gmh));
-+		printf("Records:%d\n", *num);
-+
-+		nFIND = *num;
-+		break;
- 	case GSMD_PHONEBOOK_READRG:
--		payload = (char *)gmh + sizeof(*gmh);
-+		num = (int *) ((char *)gmh + sizeof(*gmh));
-+		printf("Records:%d\n", *num);
- 
--		if (!strncmp(payload, "+CPBR", 5) ||
--				!strncmp(payload, "+CPBF", 5)) {
--			gp = (struct gsmd_phonebook *) malloc(sizeof(struct gsmd_phonebook));
--			ptr = strchr(payload, ' ');
--	                gp->index = atoi(ptr+1);
--
--	                fcomma = strchr(payload, '"');
--	                lcomma = strchr(fcomma+1, '"');
--	                strncpy(gp->numb, fcomma + 1, (lcomma-fcomma-1));
--	                gp->numb[(lcomma - fcomma) - 1] = '\0';
--
--	                gp->type = atoi(lcomma + 2);
--
--	                ptr = strrchr(payload, ',');
--	                fcomma = ptr + 1;
--	                lcomma = strchr(fcomma + 1, '"');
--	                strncpy(gp->text, fcomma + 1, (lcomma - fcomma - 1));
--	                gp->text[(lcomma - fcomma) - 1] = '\0';
--
--			llist_add_tail(&gp->list, &phonebook_list);
--
--#if 0
--			llist_for_each_entry(gp, &phonebook_list, list) {
--				printf("%d, %s, %d, %s\n", gp->index, gp->numb, gp->type, gp->text);
--			}
--#endif
--			printf("%d, %s, %d, %s\n", gp->index, gp->numb, gp->type, gp->text);
--		}
--		else
--			printf("%s\n", payload);
-+		nREADRG = *num;
- 		break;
--#endif
- 	case GSMD_PHONEBOOK_READ:
- 		gp = (struct gsmd_phonebook *) ((char *)gmh + sizeof(*gmh));
- 		if (gp->index)
-@@ -115,48 +89,18 @@
- 		gps = (struct gsmd_phonebook_support *) ((char *)gmh + sizeof(*gmh));
- 		printf("(1-%d), %d, %d\n", gps->index, gps->nlength, gps->tlength);
- 		break;
--#if 0
--	case GSMD_PHONEBOOK_LIST_STORAGE:
--		payload = (char *)gmh + sizeof(*gmh);
- 
--		if (!strncmp(payload, "+CPBS", 5)) {
--			char* delim = "(,";
--			struct gsmd_phonebook_storage *cur, *cur2;
--
--			/* Remove previous record */
--			if (!llist_empty(&storage_list)) {
--				llist_for_each_entry_safe(cur, cur2,
--						&storage_list, list) {
--					llist_del(&cur->list);
--					talloc_free(cur);
--				}
--			}
--
--			ptr = strpbrk(payload, delim);
--
--			while ( ptr ) {
--				gpst = (struct gsmd_phonebook_storage *) malloc(sizeof(struct gsmd_phonebook_storage));
--				strncpy(gpst->storage, ptr+2, 2);
--				gpst->storage[2] = '\0';
--
--				ptr = strpbrk(ptr+2, delim);
--
--				llist_add_tail(&gpst->list, &storage_list);
--			}
-+	case GSMD_PHONEBOOK_LIST_STORAGE:
-+		gpst = (struct gsmd_phonebook_storage *)((char *)gmh + sizeof(*gmh));
- 
--			if (llist_empty(&storage_list))
--				return 0;
-+		for (i = 0; i < gpst->num; i++) {
-+			printf("%s, ", gpst->mem[i].type);
-+		}
- 
--			llist_for_each_entry(cur, &storage_list, list) {
--				printf("\n%s",cur->storage);
--			}
-+		printf("\n");
- 
--			printf("\n");
--		}
--		else
--			printf("%s\n", payload);
- 		break;
--#endif
-+
- 	case GSMD_PHONEBOOK_WRITE:
- 	case GSMD_PHONEBOOK_DELETE:
- 	case GSMD_PHONEBOOK_SET_STORAGE:
-@@ -164,6 +108,26 @@
- 		payload = (char *)gmh + sizeof(*gmh);
- 		printf("%s\n", payload);
- 		break;
-+	case GSMD_PHONEBOOK_RETRIEVE_READRG:
-+		gp = (struct gsmd_phonebook *) ((char *)gmh + sizeof(*gmh));
-+
-+		for (i=0; i<nREADRG; i++) {
-+			printf("%d,%s,%d,%s\n", gp->index, gp->numb, gp->type, gp->text);
-+			gp++;
-+		}
-+
-+		nREADRG = 0;
-+		break;
-+	case GSMD_PHONEBOOK_RETRIEVE_FIND:
-+		gp = (struct gsmd_phonebook *) ((char *)gmh + sizeof(*gmh));
-+
-+		for (i = 0; i < nFIND; i++) {
-+			printf("%d,%s,%d,%s\n", gp->index, gp->numb, gp->type, gp->text);
-+			gp++;
-+		}
-+
-+		nFIND = 0;
-+		break;
- 	default:
- 		return -EINVAL;
- 	}	
-@@ -381,11 +345,13 @@
- 		"\tpd\tPB Delete (pb=index)\n"
- 		"\tpr\tPB Read (pr=index)\n"
- 		"\tprr\tPB Read Range (prr=index1,index2)\n"
--		"\tpf\tPB Find (pff=indtext)\n"
-+		"\tpf\tPB Find (pf=indtext)\n"
- 		"\tpw\tPB Write (pw=index,number,text)\n"
- 		"\tps\tPB Support\n"
- 		"\tpm\tPB Memory\n"
- 		"\tpp\tPB Set Memory (pp=storage)\n"
-+		"\tpRr\tRetrieve Readrg Records\n"
-+		"\tpRf\tRetrieve Find Records\n"
- 		"\tsd\tSMS Delete (sd=index,delflg)\n"
- 		"\tsl\tSMS List (sl=stat)\n"
- 		"\tsr\tSMS Read (sr=index)\n"
-@@ -509,48 +475,21 @@
- 				printf("Delete Phonebook Entry\n");				
- 				ptr = strchr(buf, '=');
- 				lgsm_pb_del_entry(lgsmh, atoi(ptr+1));
--#if 0
- 			} else if ( !strncmp(buf, "prr", 3)) {	
- 				printf("Read Phonebook Entries\n");
- 				struct lgsm_phonebook_readrg pb_readrg;
--				struct gsmd_phonebook *gp_cur, *gp_cur2;
--
--				/* Remove records */
--				if (!llist_empty(&phonebook_list)) {
--					llist_for_each_entry_safe(gp_cur,
--							gp_cur2,
--							&phonebook_list,
--							list) {
--						llist_del(&gp_cur->list);
--						talloc_free(gp_cur);
--					}
--				}
- 
- 				ptr = strchr(buf, '=');
- 				pb_readrg.index1 = atoi(ptr+1);				
- 				ptr = strchr(buf, ',');
- 				pb_readrg.index2 = atoi(ptr+1);
- 				lgsm_pb_read_entries(lgsmh, &pb_readrg);
--#endif
- 			} else if ( !strncmp(buf, "pr", 2)) {
- 				ptr = strchr(buf, '=');
- 				lgsm_pb_read_entry(lgsmh, atoi(ptr+1));
--#if 0
- 			} else if ( !strncmp(buf, "pf", 2)) {
- 				printf("Find Phonebook Entry\n");
- 				struct lgsm_phonebook_find pb_find;
--				struct gsmd_phonebook *gp_cur, *gp_cur2;
--
--				/* Remove records */
--				if (!llist_empty(&phonebook_list)) {
--					llist_for_each_entry_safe(gp_cur,
--							gp_cur2,
--							&phonebook_list,
--							list) {
--						llist_del(&gp_cur->list);
--						talloc_free(gp_cur);
--					}
--				}
- 
- 				ptr = strchr(buf, '=');
- 				strncpy(pb_find.findtext,
-@@ -559,7 +498,6 @@
- 				pb_find.findtext[strlen(ptr+1)] = '\0';	
- 			
- 				lgsm_pb_find_entry(lgsmh, &pb_find);
--#endif
- 			} else if ( !strncmp(buf, "pw", 2)) {
- 				printf("Write Phonebook Entry\n");
- 				struct lgsm_phonebook pb;
-@@ -591,6 +529,16 @@
- 			} else if ( !strncmp(buf, "ps", 2)) {	
- 				printf("Get Phonebook Support\n");
- 				lgsm_pb_get_support(lgsmh);
-+			} else if( !strncmp(buf, "pRr", 3) ) {
-+				printf("Retrieve Readrg Records\n");
-+
-+				if ( nREADRG )
-+					lgsm_pb_retrieve_readrg(lgsmh, nREADRG);
-+			} else if( !strncmp(buf, "pRf", 3) ) {
-+				printf("Retrieve Find Records\n");
-+
-+				if ( nFIND )
-+					lgsm_pb_retrieve_find(lgsmh, nFIND);
- 			} else if ( !strncmp(buf, "sd", 2)) {		
- 				printf("Delete SMS\n");			
- 				struct lgsm_sms_delete sms_del;
diff --git a/meta/recipes-connectivity/gsm/files/default b/meta/recipes-connectivity/gsm/files/default
deleted file mode 100644
index 6ef4f6d..0000000
--- a/meta/recipes-connectivity/gsm/files/default
+++ /dev/null
@@ -1,59 +0,0 @@
-# gsmd	This shell script configures for the gsmd init script.
-
-. /etc/init.d/functions
-
-case `machine_id` in
-	"gta01"|"gta02")
-		GSMD_OPTS="-s 115200 -F"
-		if [ -d '/sys/bus/platform/devices/gta01-pm-gsm.0' ] ; then
-		GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on"
-		GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset"
-		else
-		GSM_POW="/sys/bus/platform/devices/neo1973-pm-gsm.0/power_on"
-		GSM_RES="/sys/bus/platform/devices/neo1973-pm-gsm.0/reset"
-		fi
-		GSM_DEV="/dev/ttySAC0"
-		GSM_DL="/sys/devices/platform/neo1973-pm-gsm.0/download"
-		;;
-	"htc_apache"|"htc_blueangel"|"htc_universal")
-		GSMD_OPTS="-s 115200 -F"
-		GSM_DEV="/dev/ttyS0"
-		;;
-	"htc_himalaya")
-		GSMD_OPTS="-s 115200 -F"
-		GSM_DEV="/dev/ttyS2"
-		;;
-	"htc_magician")
-		GSMD_OPTS="-s 115200 -F"
-		GSM_DEV="/dev/ttyS1"
-		;;
-	"palm_treo_650")
-		GSMD_OPTS="-s 460800 -F -w 1"
-		GSM_DEV="/dev/ttyS0"
-		;;
-        "motorola_ezx_platform")
-                GSMD_OPTS="-s 115200 -F -v ti"
-                GSM_DEV="/dev/mux0"
-                ;;
-        "omap3430_ldp_board")
-                # Need a machine for the Zoom modem, but this will do
-                GSMD_OPTS="-s 460800 -F -v ti -m gta01"
-                GSM_DEV="/dev/ttyS0"
-                ;;
-	*)
-		# Unknown board
-
-		# If you must specify special options, uncomment and modify the next line
-		#GSMD_OPTS="-s 115200 -F"
-
-		# If your GSM device needs to be powered up, uncomment and modify the next line
-		#GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on"
-
-		# If your GSM device then needs to be reset, uncomment and modify the next line
-		#GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset"
-
-		# This should be in a common /etc/default/serial, together with
-		# BT_DEV and IR_DEV for devices that have those on a serial port
-		#GSM_DEV="/dev/ttyS1"
-		;;
-esac
diff --git a/meta/recipes-connectivity/gsm/files/fix_machine_init.patch b/meta/recipes-connectivity/gsm/files/fix_machine_init.patch
deleted file mode 100644
index 1f135d5..0000000
--- a/meta/recipes-connectivity/gsm/files/fix_machine_init.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Rebase the patch to latest version.
-
-By Dongxiao Xu <dongxiao.xu@intel.com>
-
-Upstream-Status: Pending
-
-diff -ruN gsm-orig/src/gsmd/gsmd.c gsm/src/gsmd/gsmd.c
---- gsm-orig/src/gsmd/gsmd.c	2010-11-25 10:14:22.000000000 +0800
-+++ gsm/src/gsmd/gsmd.c	2010-11-25 10:14:52.000000000 +0800
-@@ -196,14 +196,11 @@
- 
- 	sms_cb_init(gsmd);
- 
--	if (gsmd->vendorpl && gsmd->vendorpl->initsettings){
-+	if (gsmd->vendorpl && gsmd->vendorpl->initsettings)
- 		rc |= gsmd->vendorpl->initsettings(gsmd);
--		if (gsmd->machinepl && gsmd->machinepl->initsettings)
--			rc |= gsmd->machinepl->initsettings(gsmd);
--		return rc;
--	}	
--	else
--		return rc;
-+	if (gsmd->machinepl && gsmd->machinepl->initsettings)
-+		rc |= gsmd->machinepl->initsettings(gsmd);
-+	return rc;
- }
- 
- static int firstcmd_response = 0;
diff --git a/meta/recipes-connectivity/gsm/files/gsmd b/meta/recipes-connectivity/gsm/files/gsmd
deleted file mode 100644
index dc10e63..0000000
--- a/meta/recipes-connectivity/gsm/files/gsmd
+++ /dev/null
@@ -1,47 +0,0 @@
-#! /bin/sh
-#
-# gsmd  This shell script starts and stops gsmd.
-#
-# chkconfig: 345 90 40
-# description: Gsmd manages access to a serial- or USB-connected GSM
-# processname: gsmd
-
-PATH=/bin:/usr/bin:/sbin:/usr/sbin
-
-[ -f /etc/default/rcS ] && . /etc/default/rcS
-[ -f /etc/default/gsmd ] && . /etc/default/gsmd
-
-case "$1" in
-    start)
-        [ -n "$GSM_POW" ] && ( echo "0" >$GSM_POW; sleep 1 )
-        [ -n "$GSM_POW" ] && ( echo "1" >$GSM_POW; sleep 1 )
-        [ -n "$GSM_RES" ] && ( echo "1" >$GSM_RES; sleep 1 )
-        [ -n "$GSM_RES" ] && ( echo "0" >$GSM_RES; sleep 2 )
-
-        echo -n "Starting GSM daemon: "
-        start-stop-daemon -S -x /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS -d -l syslog
-
-        if [ $? = 0 ]; then
-            echo "gsmd."
-        else
-            echo "(failed.)"
-        fi
-        ;;
-    stop)
-        [ -n "$GSM_POW" ] && echo "0" >$GSM_POW
-
-        echo -n "Stopping GSM daemon: "
-        start-stop-daemon -K -x /usr/sbin/gsmd
-        echo "gsmd."
-        ;;
-    restart|force-reload)
-        $0 stop
-        $0 start
-        ;;
-    *)
-        echo "Usage: /etc/init.d/gsmd {start|stop|restart|force-reload}"
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/meta/recipes-connectivity/gsm/files/install-ts-headers.patch b/meta/recipes-connectivity/gsm/files/install-ts-headers.patch
deleted file mode 100644
index b77b6d9..0000000
--- a/meta/recipes-connectivity/gsm/files/install-ts-headers.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
-Index: gsm/include/gsmd/Makefile.am
-===================================================================
---- gsm.orig/include/gsmd/Makefile.am	2007-10-29 21:05:57.000000000 +0100
-+++ gsm/include/gsmd/Makefile.am	2007-10-29 21:06:03.000000000 +0100
-@@ -1,4 +1,4 @@
- 
--pkginclude_HEADERS = event.h usock.h
-+pkginclude_HEADERS = event.h ts0705.h ts0707.h usock.h
- 
--noinst_HEADERS = atcmd.h gsmd.h select.h ts0705.h ts0707.h unsolicited.h usock.h vendorplugin.h
-+noinst_HEADERS = atcmd.h gsmd.h select.h unsolicited.h usock.h vendorplugin.h
diff --git a/meta/recipes-connectivity/gsm/files/lgsm_send_fix_return_value.patch b/meta/recipes-connectivity/gsm/files/lgsm_send_fix_return_value.patch
deleted file mode 100644
index 9ff1c9d..0000000
--- a/meta/recipes-connectivity/gsm/files/lgsm_send_fix_return_value.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Upstream-Status: Inappropriate [not used]
-
---- gsm/src/libgsmd/libgsmd.c.orig	2007-09-25 00:41:56.000000000 -0500
-+++ gsm/src/libgsmd/libgsmd.c	2007-09-25 00:43:44.000000000 -0500
-@@ -210,7 +210,7 @@
- 			pos += rc;
- 		}
- 	}
--	return 0;
-+	return (sizeof(*gmh) + gmh->len);
- }
- 
- struct gsmd_msg_hdr *lgsm_gmh_fill(int type, int subtype, int payload_len)
diff --git a/meta/recipes-connectivity/gsm/gsmd.inc b/meta/recipes-connectivity/gsm/gsmd.inc
deleted file mode 100644
index a968518..0000000
--- a/meta/recipes-connectivity/gsm/gsmd.inc
+++ /dev/null
@@ -1,108 +0,0 @@
-SUMMARY = "GSM libraries and daemons"
-DESCRIPTION = "GSM libraries and daemons implementing the 07.10 specification"
-HOMEPAGE = "http://www.openmoko.org"
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
-                    file://COPYING.library;md5=2d5025d4aa3495befef8f17206a5b0a1 \
-                    file://src/util/event.c;beginline=1;endline=21;md5=7fc982f6308a591d1e3581e59c6768ce \
-                    file://src/libgsmd/libgsmd_sms.c;beginline=1;endline=19;md5=7bd4cdfab49cfba6a2afc020ee0b0806"
-SECTION = "libs/gsm"
-PROVIDES += "gsmd"
-RPROVIDES_${PN} = "libgsmd0 libgsmd gsmd gsmd-devel"
-PV = "0.1+svnr${SRCPV}"
-PR = "r2"
-
-SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
-           file://fix_machine_init.patch \
-           file://gsmd \
-           file://default"
-S = "${WORKDIR}/gsm"
-
-inherit autotools pkgconfig update-rc.d
-
-UPDATERCPN = "gsmd"
-INITSCRIPT_NAME = "gsmd"
-INITSCRIPT_PARAMS = "defaults 35"
-
-do_install_append() {
-	install -d ${D}/${sysconfdir}/init.d
-	install -m 0755 ${WORKDIR}/gsmd ${D}/${sysconfdir}/init.d/
-	install -d ${D}/${sysconfdir}/default
-	install ${WORKDIR}/default ${D}/${sysconfdir}/default/gsmd
-}
-
-PACKAGES =+ "\
-  ${PN}-tools \
-  ${BASEPN}-plugins \
-  ${BASEPN}-plugin-machine-generic \
-  ${BASEPN}-plugin-machine-telit \
-  ${BASEPN}-plugin-machine-tihtc \
-  ${BASEPN}-plugin-machine-gta01 \
-  ${BASEPN}-plugin-vendor-bcm \
-  ${BASEPN}-plugin-vendor-qc \
-  ${BASEPN}-plugin-vendor-ti \
-  ${BASEPN}-plugin-vendor-telit \
-  ${BASEPN}-plugin-vendor-tihtc \
-"
-
-ALLOW_EMPTY_${BASEPN}-plugin-machine-gta01 = "1"
-
-RDEPENDS_${BASEPN}-plugins = "\
-  ${BASEPN}-plugin-machine-generic \
-  ${BASEPN}-plugin-machine-telit \
-  ${BASEPN}-plugin-machine-tihtc \
-  ${BASEPN}-plugin-machine-gta01 \
-  ${BASEPN}-plugin-vendor-bcm \
-  ${BASEPN}-plugin-vendor-qc \
-  ${BASEPN}-plugin-vendor-ti \
-  ${BASEPN}-plugin-vendor-telit \
-  ${BASEPN}-plugin-vendor-tihtc \
-"
-
-RDEPENDS_${PN} += "update-rc.d initscripts"
-RRECOMMENDS_${PN} += "${BASEPN}-plugins"
-
-FILES_${PN}-dbg += "${libdir}/gsmd/.debug/*"
-FILES_${PN}-dev += "${libdir}/gsmd/*.so ${libdir}/gsmd/*.la"
-FILES_${PN}-staticdev += "${libdir}/gsmd/*.a"
-FILES_${PN}-tools = "${bindir}/*"
-FILES_${BASEPN}-plugins = ""
-FILES_${BASEPN}-plugin-machine-generic = "${libdir}/gsmd/libgsmd-machine_generic.so.*"
-FILES_${BASEPN}-plugin-machine-tihtc = "${libdir}/gsmd/libgsmd-machine_tihtc.so.*"
-FILES_${BASEPN}-plugin-machine-telit = "${libdir}/gsmd/libgsmd-machine_telit.so.*"
-FILES_${BASEPN}-plugin-machine-gta01 = "${libdir}/gsmd/libgsmd-machine_gta01.so.*"
-FILES_${BASEPN}-plugin-vendor-qc = "${libdir}/gsmd/libgsmd-vendor_qc.so.*"
-FILES_${BASEPN}-plugin-vendor-bcm = "${libdir}/gsmd/libgsmd-vendor_bcm.so.*"
-FILES_${BASEPN}-plugin-vendor-ti = "${libdir}/gsmd/libgsmd-vendor_ti.so.*"
-FILES_${BASEPN}-plugin-vendor-telit = "${libdir}/gsmd/libgsmd-vendor_telit.so.*"
-FILES_${BASEPN}-plugin-vendor-tihtc = "${libdir}/gsmd/libgsmd-vendor_tihtc.so.*"
-
-PACKAGES_DYNAMIC = "lib${BASEPN}* ${BASEPN}"
-
-ALLOW_EMPTY_${BASEPN}-plugins = "1"
-
-RCONFLICTS_lib${BASEPN} = "lib${CONFLICTNAME}"
-RCONFLICTS_${BASEPN} = "${CONFLICTNAME}"
-RCONFLICTS_${BASEPN}-plugins = "${CONFLICTNAME}-plugins"
-RCONFLICTS_${BASEPN}-plugin-machine-generic = "${CONFLICTNAME}-plugin-machine-generic"
-RCONFLICTS_${BASEPN}-plugin-machine-telit = "${CONFLICTNAME}-plugin-machine-telit"
-RCONFLICTS_${BASEPN}-plugin-machine-tihtc = "${CONFLICTNAME}-plugin-machine-tihtc"
-RCONFLICTS_${BASEPN}-plugin-machine-gta01 = "${CONFLICTNAME}-plugin-machine-gta01"
-RCONFLICTS_${BASEPN}-plugin-vendor-qc = "${CONFLICTNAME}-plugin-vendor-qc"
-RCONFLICTS_${BASEPN}-plugin-vendor-bcm = "${CONFLICTNAME}-plugin-vendor-bcm"
-RCONFLICTS_${BASEPN}-plugin-vendor-ti = "${CONFLICTNAME}-plugin-vendor-ti"
-RCONFLICTS_${BASEPN}-plugin-vendor-telit = "${CONFLICTNAME}-plugin-vendor-telit"
-RCONFLICTS_${BASEPN}-plugin-vendor-tihtc = "${CONFLICTNAME}-plugin-vendor-tihtc"
-
-RPROVIDES_lib${BASEPN} += "lib${CONFLICTNAME}"
-RPROVIDES_${BASEPN} = "${CONFLICTNAME}"
-RPROVIDES_${BASEPN}-plugins = "${CONFLICTNAME}-plugins"
-RPROVIDES_${BASEPN}-plugin-machine-generic = "${CONFLICTNAME}-plugin-machine-generic"
-RPROVIDES_${BASEPN}-plugin-machine-telit = "${CONFLICTNAME}-plugin-machine-telit"
-RPROVIDES_${BASEPN}-plugin-machine-tihtc = "${CONFLICTNAME}-plugin-machine-tihtc"
-RPROVIDES_${BASEPN}-plugin-machine-gta01 = "${CONFLICTNAME}-plugin-machine-gta01"
-RPROVIDES_${BASEPN}-plugin-vendor-qc = "${CONFLICTNAME}-plugin-vendor-qc"
-RPROVIDES_${BASEPN}-plugin-vendor-bcm = "${CONFLICTNAME}-plugin-vendor-bcm"
-RPROVIDES_${BASEPN}-plugin-vendor-ti = "${CONFLICTNAME}-plugin-vendor-ti"
-RPROVIDES_${BASEPN}-plugin-vendor-telit = "${CONFLICTNAME}-plugin-vendor-telit"
-RPROVIDES_${BASEPN}-plugin-vendor-tihtc = "${CONFLICTNAME}-plugin-vendor-tihtc"
diff --git a/meta/recipes-connectivity/gsm/libgsmd_svn.bb b/meta/recipes-connectivity/gsm/libgsmd_svn.bb
deleted file mode 100644
index ea8eaae..0000000
--- a/meta/recipes-connectivity/gsm/libgsmd_svn.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-BASEPN = "gsmd"
-CONFLICTNAME = "gsmd-devel"
-
-SRCREV = "5394"
-require gsmd.inc
-
diff --git a/meta/recipes-core/tasks/task-base.bb b/meta/recipes-core/tasks/task-base.bb
index ddae7ae..b9bc3aa 100644
--- a/meta/recipes-core/tasks/task-base.bb
+++ b/meta/recipes-core/tasks/task-base.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Merge machine and distro options to create a basic machine task/p
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r73"
+PR = "r74"
 
 inherit task
 
@@ -357,5 +357,4 @@ RDEPENDS_task-base-serial = "\
     lrzsz "
 
 RDEPENDS_task-base-phone = "\
-    gsmd \
-    libgsmd-tools"
+    ofono"
-- 
1.7.9.5




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] core-image-minimal-dev: base on core-image-minimal
  2012-07-09 17:03 [PATCH 0/3] Misc tidy-ups Paul Eggleton
  2012-07-09 17:03 ` [PATCH 1/3] libgsmd - remove Paul Eggleton
@ 2012-07-09 17:03 ` Paul Eggleton
  2012-07-09 17:03 ` [PATCH 3/3] core-image-*: remove copyright notices Paul Eggleton
  2012-07-10 18:06 ` [PATCH 0/3] Misc tidy-ups Saul Wold
  3 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2012-07-09 17:03 UTC (permalink / raw)
  To: openembedded-core

When core-image-minimal has been updated in the past, we have on several
occasions missed applying those updates to this recipe, so let's just
base it directly on core-image-minimal and completely avoid that problem
in future.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-core/images/core-image-minimal-dev.bb |   12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/meta/recipes-core/images/core-image-minimal-dev.bb b/meta/recipes-core/images/core-image-minimal-dev.bb
index 67c7790..4e9cb35 100644
--- a/meta/recipes-core/images/core-image-minimal-dev.bb
+++ b/meta/recipes-core/images/core-image-minimal-dev.bb
@@ -1,18 +1,10 @@
 #
 # Copyright (C) 2007 OpenedHand Ltd.
 #
+require core-image-minimal.bb
+
 DESCRIPTION = "A small image just capable of allowing a device to boot and \
 is suitable for development work."
 
-IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE}"
-
 IMAGE_FEATURES += "dev-pkgs"
 
-IMAGE_LINGUAS = " "
-
-LICENSE = "MIT"
-
-inherit core-image
-
-# remove not needed ipkg informations
-ROOTFS_POSTPROCESS_COMMAND += "remove_packaging_data_files ; "
-- 
1.7.9.5




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] core-image-*: remove copyright notices
  2012-07-09 17:03 [PATCH 0/3] Misc tidy-ups Paul Eggleton
  2012-07-09 17:03 ` [PATCH 1/3] libgsmd - remove Paul Eggleton
  2012-07-09 17:03 ` [PATCH 2/3] core-image-minimal-dev: base on core-image-minimal Paul Eggleton
@ 2012-07-09 17:03 ` Paul Eggleton
  2012-07-10 18:06 ` [PATCH 0/3] Misc tidy-ups Saul Wold
  3 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2012-07-09 17:03 UTC (permalink / raw)
  To: openembedded-core

These image recipes are meant to be examples that people can copy and
modify completely for their own purposes, and most of them are so
trivial they don't really need copyright notices anyway, so trim them
off.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-core/images/core-image-base.bb        |    3 ---
 meta/recipes-core/images/core-image-core.bb        |    3 ---
 meta/recipes-core/images/core-image-minimal-dev.bb |    3 ---
 .../images/core-image-minimal-mtdutils.bb          |    3 ---
 meta/recipes-core/images/core-image-minimal.bb     |    3 ---
 meta/recipes-rt/images/core-image-rt-sdk.bb        |    3 ---
 meta/recipes-rt/images/core-image-rt.bb            |    3 ---
 meta/recipes-sato/images/core-image-sato-dev.bb    |    3 ---
 meta/recipes-sato/images/core-image-sato-sdk.bb    |    3 ---
 meta/recipes-sato/images/core-image-sato.bb        |    3 ---
 10 files changed, 30 deletions(-)

diff --git a/meta/recipes-core/images/core-image-base.bb b/meta/recipes-core/images/core-image-base.bb
index 71ff3b9..30c8dd1 100644
--- a/meta/recipes-core/images/core-image-base.bb
+++ b/meta/recipes-core/images/core-image-base.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007 OpenedHand Ltd.
-#
 DESCRIPTION = "A console-only image that fully supports the target device \
 hardware."
 
diff --git a/meta/recipes-core/images/core-image-core.bb b/meta/recipes-core/images/core-image-core.bb
index ae32be8..ed33e12 100644
--- a/meta/recipes-core/images/core-image-core.bb
+++ b/meta/recipes-core/images/core-image-core.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007 OpenedHand Ltd.
-#
 DESCRIPTION = "An X11 image with simple applications such as terminal, editor, \
 and file manager."
 
diff --git a/meta/recipes-core/images/core-image-minimal-dev.bb b/meta/recipes-core/images/core-image-minimal-dev.bb
index 4e9cb35..93ead20 100644
--- a/meta/recipes-core/images/core-image-minimal-dev.bb
+++ b/meta/recipes-core/images/core-image-minimal-dev.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007 OpenedHand Ltd.
-#
 require core-image-minimal.bb
 
 DESCRIPTION = "A small image just capable of allowing a device to boot and \
diff --git a/meta/recipes-core/images/core-image-minimal-mtdutils.bb b/meta/recipes-core/images/core-image-minimal-mtdutils.bb
index 331f16c..c92234c 100644
--- a/meta/recipes-core/images/core-image-minimal-mtdutils.bb
+++ b/meta/recipes-core/images/core-image-minimal-mtdutils.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2008 OpenedHand Ltd.
-#
 require core-image-minimal.bb
 
 DESCRIPTION = "Small image capable of booting a device with support for the \
diff --git a/meta/recipes-core/images/core-image-minimal.bb b/meta/recipes-core/images/core-image-minimal.bb
index 7953b80..089a728 100644
--- a/meta/recipes-core/images/core-image-minimal.bb
+++ b/meta/recipes-core/images/core-image-minimal.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007 OpenedHand Ltd.
-#
 DESCRIPTION = "A small image just capable of allowing a device to boot."
 
 IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
diff --git a/meta/recipes-rt/images/core-image-rt-sdk.bb b/meta/recipes-rt/images/core-image-rt-sdk.bb
index 29512e3..f994a04 100644
--- a/meta/recipes-rt/images/core-image-rt-sdk.bb
+++ b/meta/recipes-rt/images/core-image-rt-sdk.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2011 Intel Corporation.
-#
 require recipes-core/images/core-image-minimal.bb
 
 DESCRIPTION = "Small image capable of booting a device with a test suite and \
diff --git a/meta/recipes-rt/images/core-image-rt.bb b/meta/recipes-rt/images/core-image-rt.bb
index 9b816bb..f749bfe 100644
--- a/meta/recipes-rt/images/core-image-rt.bb
+++ b/meta/recipes-rt/images/core-image-rt.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2010 Intel Corporation.
-#
 require recipes-core/images/core-image-minimal.bb
 
 DESCRIPTION = "A small image just capable of allowing a device to boot plus a \
diff --git a/meta/recipes-sato/images/core-image-sato-dev.bb b/meta/recipes-sato/images/core-image-sato-dev.bb
index bd31727..5ee9a04 100644
--- a/meta/recipes-sato/images/core-image-sato-dev.bb
+++ b/meta/recipes-sato/images/core-image-sato-dev.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007 OpenedHand Ltd.
-#
 DESCRIPTION = "Image with Sato for development work. It includes everything \
 within core-image-sato plus a native toolchain, application development and \
 testing libraries, profiling and debug symbols."
diff --git a/meta/recipes-sato/images/core-image-sato-sdk.bb b/meta/recipes-sato/images/core-image-sato-sdk.bb
index 39742ef..bc942ad 100644
--- a/meta/recipes-sato/images/core-image-sato-sdk.bb
+++ b/meta/recipes-sato/images/core-image-sato-sdk.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007 OpenedHand Ltd.
-#
 DESCRIPTION = "Image with Sato support that includes everything within \
 core-image-sato plus meta-toolchain, development headers and libraries to \
 form a standalone SDK."
diff --git a/meta/recipes-sato/images/core-image-sato.bb b/meta/recipes-sato/images/core-image-sato.bb
index b6c51fb..c228a35 100644
--- a/meta/recipes-sato/images/core-image-sato.bb
+++ b/meta/recipes-sato/images/core-image-sato.bb
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007 OpenedHand Ltd.
-#
 DESCRIPTION = "Image with Sato, a mobile environment and visual style for \
 mobile devices. The image supports X11 with a Sato theme, Pimlico \
 applications, and contains terminal, editor, and file manager."
-- 
1.7.9.5




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/3] Misc tidy-ups
  2012-07-09 17:03 [PATCH 0/3] Misc tidy-ups Paul Eggleton
                   ` (2 preceding siblings ...)
  2012-07-09 17:03 ` [PATCH 3/3] core-image-*: remove copyright notices Paul Eggleton
@ 2012-07-10 18:06 ` Saul Wold
  3 siblings, 0 replies; 5+ messages in thread
From: Saul Wold @ 2012-07-10 18:06 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer; +Cc: Paul Eggleton

On 07/09/2012 10:03 AM, Paul Eggleton wrote:
> The following changes since commit 8d8b9e77aa3403e880cbbdfefc7f24a993b3161f:
>
>    linux-yocto/3.4: perf scripting & unionfs fixes (2012-07-09 17:06:09 +0100)
>
> are available in the git repository at:
>
>    git://git.openembedded.org/openembedded-core-contrib paule/cleanup2
>    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/cleanup2
>
> Paul Eggleton (3):
>    libgsmd - remove
>    core-image-minimal-dev: base on core-image-minimal
>    core-image-*: remove copyright notices
>
>   meta/conf/multilib.conf                            |    1 -
>   .../gsm/files/0001-Introduce-ports.patch           |  712 --------------------
>   ...ending-commands-before-restarting-the-mod.patch |   76 ---
>   ...-segment-incoming-usock-data-into-packets.patch |   79 ---
>   .../0004-Handle-read-and-write-return-values.patch |  178 -----
>   .../gsm/files/0005-Add-ask-ds-option-forSMS.patch  |  132 ----
>   .../gsm/files/024_sms-text-in-bracket.patch        |   72 --
>   .../gsm/files/025_sms-status-report.patch          |  135 ----
>   ...027_phonebook-find-and-read-range-support.patch |  425 ------------
>   ...ell-phonebook-find-and-read-range-support.patch |  266 --------
>   meta/recipes-connectivity/gsm/files/default        |   59 --
>   .../gsm/files/fix_machine_init.patch               |   28 -
>   meta/recipes-connectivity/gsm/files/gsmd           |   47 --
>   .../gsm/files/install-ts-headers.patch             |   13 -
>   .../gsm/files/lgsm_send_fix_return_value.patch     |   13 -
>   meta/recipes-connectivity/gsm/gsmd.inc             |  108 ---
>   meta/recipes-connectivity/gsm/libgsmd_svn.bb       |    6 -
>   meta/recipes-core/images/core-image-base.bb        |    3 -
>   meta/recipes-core/images/core-image-core.bb        |    3 -
>   meta/recipes-core/images/core-image-minimal-dev.bb |   15 +-
>   .../images/core-image-minimal-mtdutils.bb          |    3 -
>   meta/recipes-core/images/core-image-minimal.bb     |    3 -
>   meta/recipes-core/tasks/task-base.bb               |    5 +-
>   meta/recipes-rt/images/core-image-rt-sdk.bb        |    3 -
>   meta/recipes-rt/images/core-image-rt.bb            |    3 -
>   meta/recipes-sato/images/core-image-sato-dev.bb    |    3 -
>   meta/recipes-sato/images/core-image-sato-sdk.bb    |    3 -
>   meta/recipes-sato/images/core-image-sato.bb        |    3 -
>   28 files changed, 4 insertions(+), 2393 deletions(-)
>   delete mode 100644 meta/recipes-connectivity/gsm/files/0001-Introduce-ports.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/0002-Flush-all-pending-commands-before-restarting-the-mod.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/0003-Correctly-segment-incoming-usock-data-into-packets.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/0004-Handle-read-and-write-return-values.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/024_sms-text-in-bracket.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/025_sms-status-report.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/027_phonebook-find-and-read-range-support.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/028_shell-phonebook-find-and-read-range-support.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/default
>   delete mode 100644 meta/recipes-connectivity/gsm/files/fix_machine_init.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/gsmd
>   delete mode 100644 meta/recipes-connectivity/gsm/files/install-ts-headers.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/files/lgsm_send_fix_return_value.patch
>   delete mode 100644 meta/recipes-connectivity/gsm/gsmd.inc
>   delete mode 100644 meta/recipes-connectivity/gsm/libgsmd_svn.bb
>

Merged into OE-Core

Thanks	
	Sau!



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-07-10 18:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-09 17:03 [PATCH 0/3] Misc tidy-ups Paul Eggleton
2012-07-09 17:03 ` [PATCH 1/3] libgsmd - remove Paul Eggleton
2012-07-09 17:03 ` [PATCH 2/3] core-image-minimal-dev: base on core-image-minimal Paul Eggleton
2012-07-09 17:03 ` [PATCH 3/3] core-image-*: remove copyright notices Paul Eggleton
2012-07-10 18:06 ` [PATCH 0/3] Misc tidy-ups Saul Wold

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.