[rtems commit] bsp/mpc55xx: Update due to API changes

Sebastian Huber sebh at rtems.org
Fri Jul 5 13:56:38 UTC 2013


Module:    rtems
Branch:    master
Commit:    818edbd067946b5235e0da574ba039a8e587db1c
Changeset: http://git.rtems.org/rtems/commit/?id=818edbd067946b5235e0da574ba039a8e587db1c

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul  2 15:16:33 2013 +0200

bsp/mpc55xx: Update due to API changes

Termios notifies now the driver about an inactive transmit with the
length argument set to zero.

---

 .../powerpc/mpc55xxevb/console/console-esci.c      |   11 +++++------
 .../powerpc/mpc55xxevb/console/console-linflex.c   |   17 +++++++----------
 2 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-esci.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-esci.c
index 7cff92f..c54dd35 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-esci.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-esci.c
@@ -328,13 +328,12 @@ static int mpc55xx_esci_poll_read(int minor)
 
 static int mpc55xx_esci_write(int minor, const char *out, size_t n)
 {
-  mpc55xx_esci_context *self = console_generic_get_context(minor);
-  rtems_interrupt_level level;
+  if (n > 0) {
+    mpc55xx_esci_context *self = console_generic_get_context(minor);
 
-  rtems_interrupt_disable(level);
-  self->regs->DR.B.D = out [0];
-  self->transmit_in_progress = true;
-  rtems_interrupt_enable(level);
+    self->regs->DR.B.D = out [0];
+    self->transmit_in_progress = true;
+  }
 
   return 0;
 }
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-linflex.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-linflex.c
index 0d59381..20ffcf3 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-linflex.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/console/console-linflex.c
@@ -389,17 +389,14 @@ static int mpc55xx_linflex_poll_read(int minor)
 
 static int mpc55xx_linflex_write(int minor, const char *out, size_t n)
 {
-  mpc55xx_linflex_context *self = console_generic_get_context(minor);
-  volatile LINFLEX_tag *regs = self->regs;
-  rtems_interrupt_level level;
-
-  rtems_interrupt_disable(level);
-
-  regs->BDRL.B.DATA0 = out [0];
-  self->transmit_in_progress = true;
-  /* TODO: send more then one byte */
+  if (n > 0) {
+    mpc55xx_linflex_context *self = console_generic_get_context(minor);
+    volatile LINFLEX_tag *regs = self->regs;
 
-  rtems_interrupt_enable(level);
+    regs->BDRL.B.DATA0 = out [0];
+    self->transmit_in_progress = true;
+    /* TODO: send more then one byte */
+  }
 
   return 0;
 }




More information about the vc mailing list