From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from devils.ext.ti.com (devils.ext.ti.com [198.47.26.153]) by arago-project.org (Postfix) with ESMTPS id DCC8B52A62 for ; Wed, 4 Mar 2015 00:37:52 +0000 (UTC) Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by devils.ext.ti.com (8.13.7/8.13.7) with ESMTP id t240bpUF013462 for ; Tue, 3 Mar 2015 18:37:51 -0600 Received: from DFLE73.ent.ti.com (dfle73.ent.ti.com [128.247.5.110]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id t240boLJ017737 for ; Tue, 3 Mar 2015 18:37:50 -0600 Received: from dflp33.itg.ti.com (10.64.6.16) by DFLE73.ent.ti.com (128.247.5.110) with Microsoft SMTP Server id 14.3.224.2; Tue, 3 Mar 2015 18:37:50 -0600 Received: from localhost (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp33.itg.ti.com (8.14.3/8.13.8) with ESMTP id t240bnhg020852; Tue, 3 Mar 2015 18:37:49 -0600 Date: Tue, 3 Mar 2015 19:37:48 -0500 From: Denys Dmytriyenko To: Carlos Hernandez Message-ID: <20150304003748.GA6052@edge> References: <20150227223435.GM6052@edge> <1425312208-9221-1-git-send-email-ceh@ti.com> MIME-Version: 1.0 In-Reply-To: <1425312208-9221-1-git-send-email-ceh@ti.com> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: meta-arago@arago-project.org Subject: Re: [PATCH 1/3 v2] meta-arago-distro/recipes-devtools: serialcheck recipe X-BeenThere: meta-arago@arago-project.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Arago metadata layer for TI SDKs - OE-Core/Yocto compatible List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Mar 2015 00:37:54 -0000 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline On Mon, Mar 02, 2015 at 11:03:28AM -0500, Carlos Hernandez wrote: > Serialcheck is a simple utility to verify serial ports functionality. > It supports all "standard" bauds listed in > include/uapi/asm-generic/termbits.h Looks good, thanks. Just a small clarification - I see you install it in /bin instead of more standard /usr/bin. Is there any special reason for that? > Signed-off-by: Carlos Hernandez > --- > ...01-Add-option-to-enable-internal-loopback.patch | 80 ++++++++++++++++++++++ > .../0002-Restore-original-loopback-config.patch | 48 +++++++++++++ > .../serialcheck/serialcheck_1.0.0.bb | 20 ++++++ > 3 files changed, 148 insertions(+) > create mode 100644 meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch > create mode 100644 meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch > create mode 100644 meta-arago-distro/recipes-devtools/serialcheck/serialcheck_1.0.0.bb > > diff --git a/meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch b/meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch > new file mode 100644 > index 0000000..fc387d7 > --- /dev/null > +++ b/meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch > @@ -0,0 +1,80 @@ > +From 059d5512e840fe68e2bb37add6c9208fa9c34d15 Mon Sep 17 00:00:00 2001 > +From: Sekhar Nori > +Date: Tue, 24 Feb 2015 22:16:37 +0530 > +Subject: [PATCH 1/2] Add option to enable internal loopback > + > +--- > + serialcheck.c | 23 +++++++++++++++++++++++ > + 1 file changed, 23 insertions(+) > + > +diff --git a/serialcheck.c b/serialcheck.c > +index 4f5b747..4100c37 100644 > +--- a/serialcheck.c > ++++ b/serialcheck.c > +@@ -12,6 +12,8 @@ > + #include > + #include > + > ++#define TIOCM_LOOP 0x8000 > ++ > + #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) > + #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) > + #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) > +@@ -40,6 +42,7 @@ struct g_opt { > + unsigned char hflow; > + unsigned char do_termios; > + unsigned char *cmp_buff; > ++ unsigned char loopback; > + }; > + > + /* name, key, arg, flags, doc, group */ > +@@ -51,6 +54,7 @@ static struct argp_option options[] = { > + {"mode", 'm', "M", 0, "transfer mode (d = duplex, t = send r = receive)", 0}, > + {"loops", 'l', "NUM", 0, "loops to perform (0 => wait fot CTRL-C", 0}, > + {"no-termios", 'n', NULL, 0, "No termios change (baud rate etc. remains unchanged)", 0}, > ++ {"loopback", 'k', NULL, 0, "loopback mode", 0}, > + {NULL, 0, NULL, 0, NULL, 0} > + }; > + > +@@ -67,6 +71,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) > + go->baudrate = 115200; > + go->loops = UINT_MAX; > + go->do_termios = 1; > ++ go->loopback = 0; > + break; > + case ARGP_KEY_ARG: > + ret = ARGP_ERR_UNKNOWN; > +@@ -113,6 +118,9 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) > + } else > + go->loops = num; > + break; > ++ case 'k': > ++ go->loopback = 1; > ++ break; > + default: > + ret = ARGP_ERR_UNKNOWN; > + } > +@@ -487,6 +495,21 @@ int main(int argc, char *argv[]) > + die("tcflush failed: %m\n"); > + } > + > ++ if (opts.loopback) { > ++ unsigned int mcr; > ++ > ++ ret = ioctl(fd, TIOCMGET, &mcr); > ++ if (ret < 0) > ++ die("mcr get failed: %m\n"); > ++ > ++ mcr |= TIOCM_LOOP; > ++ > ++ ret = ioctl(fd, TIOCMSET, &mcr); > ++ if (ret < 0) > ++ die ("mcr set failed: %m\n"); > ++ > ++ } > ++ > + ret = fcntl(fd, F_SETFL, 0); > + if (ret) > + printf("Failed to remove nonblock mode\n"); > +-- > +1.9.1 > diff --git a/meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch b/meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch > new file mode 100644 > index 0000000..c9478fc > --- /dev/null > +++ b/meta-arago-distro/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch > @@ -0,0 +1,48 @@ > +From a6e5813d2f8402bf3a311c8bcda02623bfb76882 Mon Sep 17 00:00:00 2001 > +From: Carlos Hernandez > +Date: Tue, 24 Feb 2015 16:00:34 -0500 > +Subject: [PATCH 2/2] Restore original loopback config > + > +If loopback option is enabled. Disabled it at the end of the test. > + > +Signed-off-by: Carlos Hernandez > +--- > + serialcheck.c | 9 +++++++-- > + 1 file changed, 7 insertions(+), 2 deletions(-) > + > +diff --git a/serialcheck.c b/serialcheck.c > +index 4100c37..06470f7 100644 > +--- a/serialcheck.c > ++++ b/serialcheck.c > +@@ -427,6 +427,7 @@ int main(int argc, char *argv[]) > + unsigned char *data; > + unsigned int open_mode; > + off_t data_len; > ++ unsigned int mcr; > + > + argp_parse(&argp, argc, argv, 0, NULL, &opts); > + if (!opts.file_trans) > +@@ -496,8 +497,6 @@ int main(int argc, char *argv[]) > + } > + > + if (opts.loopback) { > +- unsigned int mcr; > +- > + ret = ioctl(fd, TIOCMGET, &mcr); > + if (ret < 0) > + die("mcr get failed: %m\n"); > +@@ -535,6 +534,12 @@ int main(int argc, char *argv[]) > + ret = tcsetattr(fd, TCSAFLUSH, &old_term); > + if (ret) > + printf("tcsetattr() of old ones failed: %m\n"); > ++ if (opts.loopback) { > ++ mcr &= ~(TIOCM_LOOP); > ++ ret = ioctl(fd, TIOCMSET, &mcr); > ++ } > ++ if (ret) > ++ printf("disabling loopback failed: %m\n"); > + > + close(fd); > + return status; > +-- > +1.9.1 > diff --git a/meta-arago-distro/recipes-devtools/serialcheck/serialcheck_1.0.0.bb b/meta-arago-distro/recipes-devtools/serialcheck/serialcheck_1.0.0.bb > new file mode 100644 > index 0000000..6929ffc > --- /dev/null > +++ b/meta-arago-distro/recipes-devtools/serialcheck/serialcheck_1.0.0.bb > @@ -0,0 +1,20 @@ > +SUMMARY = "Application to verify operation of serial ports" > +HOMEPAGE = "git://git.breakpoint.cc/bigeasy/serialcheck.git" > +LICENSE = "GPLv2" > + > +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" > +SRC_URI = "git://git.breakpoint.cc/bigeasy/serialcheck.git" > + > +SRC_URI_append = " file://0001-Add-option-to-enable-internal-loopback.patch \ > + file://0002-Restore-original-loopback-config.patch " > + > +SRCREV = "63854a2d0c0129efab132ec328a75279e013fb84" > + > +S = "${WORKDIR}/git" > + > +CFLAGS_prepend = "-Wall -Wextra -Wno-sign-compare -Wno-pointer-sign " > + > +do_install() { > + install -d ${D}${base_bindir} > + install ${S}/serialcheck ${D}${base_bindir}/serialcheck > +} > -- > 1.9.1 > > _______________________________________________ > meta-arago mailing list > meta-arago@arago-project.org > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago