Send commitlog mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r2883 -
      trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src
      ([EMAIL PROTECTED])
   2. r2884 - trunk/src/target/u-boot/patches
      ([EMAIL PROTECTED])
--- Begin Message ---
Author: abraxa
Date: 2007-09-01 13:35:46 +0200 (Sat, 01 Sep 2007)
New Revision: 2883

Modified:
   
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/editor_page.c
   trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.c
   trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.h
Log:
Bugfix: Make the playlist editor handle meta data properly on creation



Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/editor_page.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/editor_page.c 
    2007-09-01 11:12:10 UTC (rev 2882)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/editor_page.c 
    2007-09-01 11:35:46 UTC (rev 2883)
@@ -147,8 +147,9 @@
 omp_editor_page_list_populate()
 {
        GtkTreeIter tree_iter;
-       guint track_num, duration;
-       gchar *track_title, *track_duration;
+       guint track_num;
+       gulong int_duration;
+       gchar *artist, *title, *duration, *caption;
        omp_playlist_iter *pl_iter;
 
        gtk_list_store_clear(omp_editor_page_list_store);
@@ -158,26 +159,41 @@
        // Iterate over the playlist and gather track infos to fill the list 
with
        while (!omp_playlist_iter_finished(pl_iter))
        {
-               omp_playlist_get_track_from_iter(pl_iter, &track_num, 
&track_title, &duration);
+               omp_playlist_get_track_from_iter(pl_iter, &track_num, &artist, 
&title, &int_duration);
 
-               if (duration > 0)
+               if (int_duration > 0)
                {
-                       track_duration = 
g_strdup_printf(OMP_WIDGET_CAPTION_EDITOR_TRACK_TIME,
-                               duration / 60000, (duration/1000) % 60);
+                       duration = 
g_strdup_printf(OMP_WIDGET_CAPTION_EDITOR_TRACK_TIME,
+                               (gint)(int_duration / 60000), 
(gint)(int_duration/1000) % 60);
                } else {
-                       track_duration = g_strdup("");
+                       duration = g_strdup("");
                }
 
+               if (artist)
+               {
+                       if (strcmp(artist, "") != 0)
+                       {
+                               caption = g_strdup_printf(_("%1$s - %2$s"), 
artist, title);
+                       } else {
+                               caption = g_strdup(title);
+                       }
+
+               } else {
+                       caption = g_strdup(title);
+               }
+
                gtk_list_store_append(omp_editor_page_list_store, &tree_iter);
                gtk_list_store_set(omp_editor_page_list_store, &tree_iter,
                        NUMBER_COLUMN, track_num+1,
-                       TITLE_COLUMN, track_title,
-                       DURATION_COLUMN, track_duration, -1);
+                       TITLE_COLUMN, caption,
+                       DURATION_COLUMN, duration, -1);
 
-               g_free(track_duration);
-               g_free(track_title);
+               omp_playlist_advance_iter(pl_iter);
 
-               omp_playlist_advance_iter(pl_iter);
+               g_free(title);
+               g_free(artist);
+               g_free(caption);
+               g_free(duration);
        }
 }
 

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.c    
    2007-09-01 11:12:10 UTC (rev 2882)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.c    
    2007-09-01 11:35:46 UTC (rev 2883)
@@ -807,8 +807,8 @@
  * @param track_title Destination for the track title (can be NULL), must be 
freed after use
  */
 void
-omp_playlist_get_track_from_iter(omp_playlist_iter *iter, guint *track_num, 
gchar **track_title,
-       guint *duration)
+omp_playlist_get_track_from_iter(omp_playlist_iter *iter, guint *track_num, 
gchar **track_artist,
+ gchar **track_title, gulong *duration)
 {
        // Sanity checks - one silent, one not
        if (!iter) return;
@@ -820,6 +820,16 @@
                *track_num = iter->track_num;
        }
 
+       if (track_artist)
+       {
+               if (iter->track)
+               {
+                       *track_artist = g_strdup(iter->track->creator);
+               } else {
+                       *track_artist = NULL;
+               }
+       }
+
        if (track_title)
        {
                if (iter->track)

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.h
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.h    
    2007-09-01 11:12:10 UTC (rev 2882)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-mediaplayer2/src/playlist.h    
    2007-09-01 11:35:46 UTC (rev 2883)
@@ -88,7 +88,7 @@
 
 omp_playlist_iter *omp_playlist_init_iterator();
 void omp_playlist_get_track_from_iter(omp_playlist_iter *iter, guint 
*track_num,
-       gchar **track_title, guint *duration);
+       gchar **track_artist, gchar **track_title, gulong *duration);
 void omp_playlist_advance_iter(omp_playlist_iter *iter);
 gboolean omp_playlist_iter_finished(omp_playlist_iter *iter);
 




--- End Message ---
--- Begin Message ---
Author: laforge
Date: 2007-09-01 17:40:12 +0200 (Sat, 01 Sep 2007)
New Revision: 2884

Added:
   trunk/src/target/u-boot/patches/uboot-s3c24xx_multi_serial.patch
Modified:
   trunk/src/target/u-boot/patches/series
   trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch
   trunk/src/target/u-boot/patches/uboot-gta02.patch
   trunk/src/target/u-boot/patches/uboot-mokoversion.patch
   trunk/src/target/u-boot/patches/uboot-s3c2440.patch
   trunk/src/target/u-boot/patches/uboot-s3c2442.patch
   trunk/src/target/u-boot/patches/uboot-serial_terminal.patch
Log:
split serial_terminal patch into
* independent multi-serial support (s3c24xx_multi_serial.patch)
* s3c2440 / s3c2442 related bits
* enable multi-serial for gta01 and gta02 config


Modified: trunk/src/target/u-boot/patches/series
===================================================================
--- trunk/src/target/u-boot/patches/series      2007-09-01 11:35:46 UTC (rev 
2883)
+++ trunk/src/target/u-boot/patches/series      2007-09-01 15:40:12 UTC (rev 
2884)
@@ -12,6 +12,7 @@
 uboot-s3c2410-nand.patch
 uboot-cmd_s3c2410.patch
 uboot-s3c2410-mmc.patch
+uboot-s3c24xx_multi_serial.patch
 env_nand_oob.patch
 dynenv-harden.patch
 uboot-s3c2410_fb.patch

Modified: trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch        
2007-09-01 11:35:46 UTC (rev 2883)
+++ trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch        
2007-09-01 15:40:12 UTC (rev 2884)
@@ -2017,7 +2017,7 @@
 ===================================================================
 --- /dev/null
 +++ u-boot/include/configs/neo1973_gta01.h
-@@ -0,0 +1,253 @@
+@@ -0,0 +1,254 @@
 +/*
 + * (C) Copyright 2006 OpenMoko, Inc.
 + * Author: Harald Welte <[EMAIL PROTECTED]>
@@ -2087,6 +2087,7 @@
 + * select serial console configuration
 + */
 +#define CONFIG_SERIAL1          1     /* we use SERIAL 1 on GTA01 */
++#define CONFIG_SERIAL_MULTI
 +
 +/* allow to overwrite serial and ethaddr */
 +#define CONFIG_ENV_OVERWRITE

Modified: trunk/src/target/u-boot/patches/uboot-gta02.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-gta02.patch   2007-09-01 11:35:46 UTC 
(rev 2883)
+++ trunk/src/target/u-boot/patches/uboot-gta02.patch   2007-09-01 15:40:12 UTC 
(rev 2884)
@@ -560,7 +560,7 @@
 ===================================================================
 --- /dev/null
 +++ u-boot/include/configs/neo1973_gta02.h
-@@ -0,0 +1,276 @@
+@@ -0,0 +1,277 @@
 +/*
 + * (C) Copyright 2007 OpenMoko, Inc.
 + * Author: Harald Welte <[EMAIL PROTECTED]>
@@ -625,6 +625,7 @@
 + * select serial console configuration
 + */
 +#define CONFIG_SERIAL3          1     /* we use SERIAL 1 on GTA01 */
++#define CONFIG_SERIAL_MULTI
 +
 +/* allow to overwrite serial and ethaddr */
 +#define CONFIG_ENV_OVERWRITE

Modified: trunk/src/target/u-boot/patches/uboot-mokoversion.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-mokoversion.patch     2007-09-01 
11:35:46 UTC (rev 2883)
+++ trunk/src/target/u-boot/patches/uboot-mokoversion.patch     2007-09-01 
15:40:12 UTC (rev 2884)
@@ -1,7 +1,7 @@
 Index: u-boot/tools/setlocalversion
 ===================================================================
---- u-boot.orig/tools/setlocalversion  2007-03-26 14:42:58.000000000 +0200
-+++ u-boot/tools/setlocalversion       2007-03-26 14:46:47.000000000 +0200
+--- u-boot.orig/tools/setlocalversion
++++ u-boot/tools/setlocalversion
 @@ -20,3 +20,5 @@
                printf '%s' -dirty
        fi

Modified: trunk/src/target/u-boot/patches/uboot-s3c2440.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2440.patch 2007-09-01 11:35:46 UTC 
(rev 2883)
+++ trunk/src/target/u-boot/patches/uboot-s3c2440.patch 2007-09-01 15:40:12 UTC 
(rev 2884)
@@ -652,10 +652,10 @@
  #endif
  
  DECLARE_GLOBAL_DATA_PTR;
-@@ -180,4 +183,5 @@
-       }
- }
+@@ -302,4 +305,5 @@
  
+ #endif /* CONFIG_SERIAL_MULTI */
+ 
 -#endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined 
(CONFIG_TRAB) */
 +#endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) ||
 +        defined(CONFIG_S3C2440) || defined (CONFIG_TRAB) */
@@ -1454,3 +1454,38 @@
                        /* to reduce PLL lock time, adjust the LOCKTIME 
register */
                        clk_power->LOCKTIME = 0xFFFFFF;
  
+Index: u-boot/common/serial.c
+===================================================================
+--- u-boot.orig/common/serial.c
++++ u-boot/common/serial.c
+@@ -59,7 +59,7 @@
+ #else
+               return &serial0_device;
+ #endif
+-#elif defined(CONFIG_S3C2410)
++#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
+ #if defined(CONFIG_SERIAL1)
+       return &s3c24xx_serial0_device;
+ #elif defined(CONFIG_SERIAL2)
+@@ -121,7 +121,7 @@
+ #endif
+ #endif /* CFG_NS16550_SERIAL */
+ 
+-#if defined(CONFIG_S3C2410)
++#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
+       serial_register(&s3c24xx_serial0_device);
+       serial_register(&s3c24xx_serial1_device);
+       serial_register(&s3c24xx_serial2_device);
+Index: u-boot/include/serial.h
+===================================================================
+--- u-boot.orig/include/serial.h
++++ u-boot/include/serial.h
+@@ -35,7 +35,7 @@
+ 
+ #endif
+ 
+-#if defined(CONFIG_S3C2410)
++#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
+ extern struct serial_device s3c24xx_serial0_device;
+ extern struct serial_device s3c24xx_serial1_device;
+ extern struct serial_device s3c24xx_serial2_device;

Modified: trunk/src/target/u-boot/patches/uboot-s3c2442.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2442.patch 2007-09-01 11:35:46 UTC 
(rev 2883)
+++ trunk/src/target/u-boot/patches/uboot-s3c2442.patch 2007-09-01 15:40:12 UTC 
(rev 2884)
@@ -285,8 +285,8 @@
  #include <s3c2440.h>
  #endif
  
-@@ -184,4 +185,5 @@
- }
+@@ -306,4 +307,5 @@
+ #endif /* CONFIG_SERIAL_MULTI */
  
  #endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) ||
 -        defined(CONFIG_S3C2440) || defined (CONFIG_TRAB) */
@@ -628,3 +628,41 @@
  #include <s3c2440.h>
  #endif
  
+Index: u-boot/common/serial.c
+===================================================================
+--- u-boot.orig/common/serial.c
++++ u-boot/common/serial.c
+@@ -59,7 +59,8 @@
+ #else
+               return &serial0_device;
+ #endif
+-#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
++#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || \
++      defined(CONFIG_S3C2442)
+ #if defined(CONFIG_SERIAL1)
+       return &s3c24xx_serial0_device;
+ #elif defined(CONFIG_SERIAL2)
+@@ -121,7 +122,8 @@
+ #endif
+ #endif /* CFG_NS16550_SERIAL */
+ 
+-#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
++#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || \
++    defined(CONFIG_S3C2442)
+       serial_register(&s3c24xx_serial0_device);
+       serial_register(&s3c24xx_serial1_device);
+       serial_register(&s3c24xx_serial2_device);
+Index: u-boot/include/serial.h
+===================================================================
+--- u-boot.orig/include/serial.h
++++ u-boot/include/serial.h
+@@ -35,7 +35,8 @@
+ 
+ #endif
+ 
+-#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
++#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || \
++    defined(CONFIG_S3C2442)
+ extern struct serial_device s3c24xx_serial0_device;
+ extern struct serial_device s3c24xx_serial1_device;
+ extern struct serial_device s3c24xx_serial2_device;

Added: trunk/src/target/u-boot/patches/uboot-s3c24xx_multi_serial.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c24xx_multi_serial.patch    
2007-09-01 11:35:46 UTC (rev 2883)
+++ trunk/src/target/u-boot/patches/uboot-s3c24xx_multi_serial.patch    
2007-09-01 15:40:12 UTC (rev 2884)
@@ -0,0 +1,307 @@
+Index: u-boot/common/serial.c
+===================================================================
+--- u-boot.orig/common/serial.c
++++ u-boot/common/serial.c
+@@ -59,6 +59,16 @@
+ #else
+               return &serial0_device;
+ #endif
++#elif defined(CONFIG_S3C2410)
++#if defined(CONFIG_SERIAL1)
++      return &s3c24xx_serial0_device;
++#elif defined(CONFIG_SERIAL2)
++      return &s3c24xx_serial1_device;
++#elif defined(CONFIG_SERIAL3)
++      return &s3c24xx_serial2_device;
++#else
++#error "CONFIG_SERIAL? missing."
++#endif
+ #else
+ #error No default console
+ #endif
+@@ -110,6 +120,13 @@
+       serial_register(&eserial4_device);
+ #endif
+ #endif /* CFG_NS16550_SERIAL */
++
++#if defined(CONFIG_S3C2410)
++      serial_register(&s3c24xx_serial0_device);
++      serial_register(&s3c24xx_serial1_device);
++      serial_register(&s3c24xx_serial2_device);
++#endif
++
+       serial_assign (default_serial_console ()->name);
+ }
+ 
+Index: u-boot/cpu/arm920t/s3c24x0/serial.c
+===================================================================
+--- u-boot.orig/cpu/arm920t/s3c24x0/serial.c
++++ u-boot/cpu/arm920t/s3c24x0/serial.c
+@@ -48,18 +48,74 @@
+ #error "Bad: you didn't configure serial ..."
+ #endif
+ 
+-void serial_setbrg (void)
++#if defined(CONFIG_SERIAL_MULTI)
++#include <serial.h>
++
++/* Multi serial device functions */
++#define DECLARE_S3C_SERIAL_FUNCTIONS(port) \
++    int  s3serial##port##_init (void) {\
++      return serial_init_dev(port);}\
++    void s3serial##port##_setbrg (void) {\
++      serial_setbrg_dev(port);}\
++    int  s3serial##port##_getc (void) {\
++      return serial_getc_dev(port);}\
++    int  s3serial##port##_tstc (void) {\
++      return serial_tstc_dev(port);}\
++    void s3serial##port##_putc (const char c) {\
++      serial_putc_dev(port, c);}\
++    void s3serial##port##_puts (const char *s) {\
++      serial_puts_dev(port, s);}
++
++#define INIT_S3C_SERIAL_STRUCTURE(port,name,bus) {\
++      name,\
++      bus,\
++      s3serial##port##_init,\
++      s3serial##port##_setbrg,\
++      s3serial##port##_getc,\
++      s3serial##port##_tstc,\
++      s3serial##port##_putc,\
++      s3serial##port##_puts, }
++
++#endif /* CONFIG_SERIAL_MULTI */
++
++void _serial_setbrg(const int dev_index)
+ {
+-      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
+-      int i;
++      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
+       unsigned int reg = 0;
++      int i;
+ 
+       /* value is calculated so : (int)(PCLK/16./baudrate) -1 */
+       reg = get_PCLK() / (16 * gd->baudrate) - 1;
+ 
++      uart->UBRDIV = reg;
++      for (i = 0; i < 100; i++);
++}
++#if defined(CONFIG_SERIAL_MULTI)
++static inline void
++serial_setbrg_dev(unsigned int dev_index)
++{
++      _serial_setbrg(dev_index);
++}
++#else
++void serial_setbrg(void)
++{
++      _serial_setbrg(UART_NR);
++}
++#endif
++
++
++/* Initialise the serial port. The settings are always 8 data bits, no parity,
++ * 1 stop bit, no start bits.
++ */
++static int serial_init_dev(const int dev_index)
++{
++      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
++      int i;
++
+       /* FIFO enable, Tx/Rx FIFO clear */
+       uart->UFCON = 0x07;
+       uart->UMCON = 0x0;
++
+       /* Normal,No parity,1 stop,8 bit */
+       uart->ULCON = 0x3;
+       /*
+@@ -67,40 +123,57 @@
+        * normal,interrupt or polling
+        */
+       uart->UCON = 0x245;
+-      uart->UBRDIV = reg;
+ 
+ #ifdef CONFIG_HWFLOW
+       uart->UMCON = 0x1; /* RTS up */
+ #endif
+-      for (i = 0; i < 100; i++);
++
++      /* FIXME: This is sooooooooooooooooooo ugly */
++#if defined(CONFIG_ARCH_GTA02_v1) || defined(CONFIG_ARCH_GTA02_v2)
++      /* we need auto hw flow control on the gsm and gps port */
++      if (dev_index == 0 || dev_index == 1)
++              uart->UMCON = 0x10;
++#endif
++      serial_setbrg_dev(dev_index);
++
++      return (0);
+ }
+ 
+-/*
+- * Initialise the serial port with the given baudrate. The settings
+- * are always 8 data bits, no parity, 1 stop bit, no start bits.
+- *
++#if !defined(CONFIG_SERIAL_MULTI)
++/* Initialise the serial port. The settings are always 8 data bits, no parity,
++ * 1 stop bit, no start bits.
+  */
+ int serial_init (void)
+ {
+-      serial_setbrg ();
+-
+-      return (0);
++      return _serial_init_dev(UART_NR);
+ }
++#endif
+ 
+ /*
+  * Read a single byte from the serial port. Returns 1 on success, 0
+  * otherwise. When the function is succesfull, the character read is
+  * written into its argument c.
+  */
+-int serial_getc (void)
++int _serial_getc (const int dev_index)
+ {
+-      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
++      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
+ 
+       /* wait for character to arrive */
+       while (!(uart->UTRSTAT & 0x1));
+ 
+       return uart->URXH & 0xff;
+ }
++#if defined(CONFIG_SERIAL_MULTI)
++static inline int serial_getc_dev(unsigned int dev_index)
++{
++      return _serial_getc(dev_index);
++}
++#else
++int serial_getc (void)
++{
++      return _serial_getc(UART_NR);
++}
++#endif
+ 
+ #ifdef CONFIG_HWFLOW
+ static int hwflow = 0; /* turned off by default */
+@@ -138,9 +211,9 @@
+ /*
+  * Output a single byte to the serial port.
+  */
+-void serial_putc (const char c)
++void _serial_putc (const char c, const int dev_index)
+ {
+-      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
++      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
+ #ifdef CONFIG_MODEM_SUPPORT
+       if (be_quiet)
+               return;
+@@ -161,23 +234,72 @@
+       if (c == '\n')
+               serial_putc ('\r');
+ }
++#if defined(CONFIG_SERIAL_MULTI)
++static inline void serial_putc_dev(unsigned int dev_index, const char c)
++{
++      _serial_putc(c, dev_index);
++}
++#else
++void serial_putc(const char c)
++{
++      _serial_putc(c, UART_NR);
++}
++#endif
++
+ 
+ /*
+  * Test whether a character is in the RX buffer
+  */
+-int serial_tstc (void)
++int _serial_tstc(const int dev_index)
+ {
+-      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
++      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
+ 
+       return uart->UTRSTAT & 0x1;
+ }
++#if defined(CONFIG_SERIAL_MULTI)
++static inline int
++serial_tstc_dev(unsigned int dev_index)
++{
++      return _serial_tstc(dev_index);
++}
++#else
++int serial_tstc(void)
++{
++      return _serial_tstc(UART_NR);
++}
++#endif
+ 
+-void
+-serial_puts (const char *s)
++void _serial_puts(const char *s, const int dev_index)
+ {
+       while (*s) {
+-              serial_putc (*s++);
++              _serial_putc (*s++, dev_index);
+       }
+ }
++#if defined(CONFIG_SERIAL_MULTI)
++static inline void
++serial_puts_dev(int dev_index, const char *s)
++{
++      _serial_puts(s, dev_index);
++}
++#else
++void
++serial_puts (const char *s)
++{
++      _serial_puts(s, UART_NR);
++}
++#endif
++
++#if defined(CONFIG_SERIAL_MULTI)
++DECLARE_S3C_SERIAL_FUNCTIONS(0);
++struct serial_device s3c24xx_serial0_device =
++      INIT_S3C_SERIAL_STRUCTURE(0, "s3ser0", "S3UART1");
++DECLARE_S3C_SERIAL_FUNCTIONS(1);
++struct serial_device s3c24xx_serial1_device =
++      INIT_S3C_SERIAL_STRUCTURE(1, "s3ser1", "S3UART2");
++DECLARE_S3C_SERIAL_FUNCTIONS(2);
++struct serial_device s3c24xx_serial2_device =
++      INIT_S3C_SERIAL_STRUCTURE(2, "s3ser2", "S3UART3");
++
++#endif /* CONFIG_SERIAL_MULTI */
+ 
+ #endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined 
(CONFIG_TRAB) */
+Index: u-boot/include/serial.h
+===================================================================
+--- u-boot.orig/include/serial.h
++++ u-boot/include/serial.h
+@@ -35,6 +35,11 @@
+ 
+ #endif
+ 
++#if defined(CONFIG_S3C2410)
++extern struct serial_device s3c24xx_serial0_device;
++extern struct serial_device s3c24xx_serial1_device;
++extern struct serial_device s3c24xx_serial2_device;
++#endif
+ 
+ extern void serial_initialize(void);
+ extern void serial_devices_init(void);
+Index: u-boot/lib_arm/board.c
+===================================================================
+--- u-boot.orig/lib_arm/board.c
++++ u-boot/lib_arm/board.c
+@@ -345,6 +345,10 @@
+ #endif
+       }
+ 
++#ifdef CONFIG_SERIAL_MULTI
++      serial_initialize();
++#endif
++
+       devices_init ();        /* get the devices list going. */
+ 
+ #ifdef CONFIG_CMC_PU2

Modified: trunk/src/target/u-boot/patches/uboot-serial_terminal.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-serial_terminal.patch 2007-09-01 
11:35:46 UTC (rev 2883)
+++ trunk/src/target/u-boot/patches/uboot-serial_terminal.patch 2007-09-01 
15:40:12 UTC (rev 2884)
@@ -1,251 +1,11 @@
 This patch adds a 'cu' like serial terminal command to u-boot
 using which you can access other serial ports from the system console.
 
-Index: u-boot/common/serial.c
-===================================================================
---- u-boot.orig/common/serial.c
-+++ u-boot/common/serial.c
-@@ -59,6 +59,16 @@
- #else
-               return &serial0_device;
- #endif
-+#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || 
defined(CONFIG_S3C2442)
-+#if defined(CONFIG_SERIAL1)
-+      return &s3c24xx_serial0_device;
-+#elif defined(CONFIG_SERIAL2)
-+      return &s3c24xx_serial1_device;
-+#elif defined(CONFIG_SERIAL3)
-+      return &s3c24xx_serial2_device;
-+#else
-+#error "CONFIG_SERIAL? missing."
-+#endif
- #else
- #error No default console
- #endif
-@@ -110,6 +120,13 @@
-       serial_register(&eserial4_device);
- #endif
- #endif /* CFG_NS16550_SERIAL */
-+
-+#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || 
defined(CONFIG_S3C2442)
-+      serial_register(&s3c24xx_serial0_device);
-+      serial_register(&s3c24xx_serial1_device);
-+      serial_register(&s3c24xx_serial2_device);
-+#endif
-+
-       serial_assign (default_serial_console ()->name);
- }
- 
-Index: u-boot/cpu/arm920t/s3c24x0/serial.c
-===================================================================
---- u-boot.orig/cpu/arm920t/s3c24x0/serial.c
-+++ u-boot/cpu/arm920t/s3c24x0/serial.c
-@@ -52,9 +52,40 @@
- #error "Bad: you didn't configure serial ..."
- #endif
- 
--void serial_setbrg (void)
-+#if defined(CONFIG_SERIAL_MULTI)
-+#include <serial.h>
-+
-+/* Multi serial device functions */
-+#define DECLARE_S3C_SERIAL_FUNCTIONS(port) \
-+    int  s3serial##port##_init (void) {\
-+      serial_setbrg_dev(port);\
-+      return(0);}\
-+    void s3serial##port##_setbrg (void) {\
-+      serial_setbrg_dev(port);}\
-+    int  s3serial##port##_getc (void) {\
-+      return serial_getc_dev(port);}\
-+    int  s3serial##port##_tstc (void) {\
-+      return serial_tstc_dev(port);}\
-+    void s3serial##port##_putc (const char c) {\
-+      serial_putc_dev(port, c);}\
-+    void s3serial##port##_puts (const char *s) {\
-+      serial_puts_dev(port, s);}
-+
-+#define INIT_S3C_SERIAL_STRUCTURE(port,name,bus) {\
-+      name,\
-+      bus,\
-+      s3serial##port##_init,\
-+      s3serial##port##_setbrg,\
-+      s3serial##port##_getc,\
-+      s3serial##port##_tstc,\
-+      s3serial##port##_putc,\
-+      s3serial##port##_puts, }
-+
-+#endif /* CONFIG_SERIAL_MULTI */
-+
-+void _serial_setbrg(const int dev_index)
- {
--      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
-+      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
-       int i;
-       unsigned int reg = 0;
- 
-@@ -78,7 +109,20 @@
- #endif
-       for (i = 0; i < 100; i++);
- }
-+#if defined(CONFIG_SERIAL_MULTI)
-+static inline void
-+serial_setbrg_dev(unsigned int dev_index)
-+{
-+      _serial_setbrg(dev_index);
-+}
-+#else
-+void serial_setbrg(void)
-+{
-+      _serial_setbrg(UART_NR);
-+}
-+#endif
- 
-+#if !defined(CONFIG_SERIAL_MULTI)
- /*
-  * Initialise the serial port with the given baudrate. The settings
-  * are always 8 data bits, no parity, 1 stop bit, no start bits.
-@@ -90,21 +134,33 @@
- 
-       return (0);
- }
-+#endif
- 
- /*
-  * Read a single byte from the serial port. Returns 1 on success, 0
-  * otherwise. When the function is succesfull, the character read is
-  * written into its argument c.
-  */
--int serial_getc (void)
-+int _serial_getc (const int dev_index)
- {
--      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
-+      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
- 
-       /* wait for character to arrive */
-       while (!(uart->UTRSTAT & 0x1));
- 
-       return uart->URXH & 0xff;
- }
-+#if defined(CONFIG_SERIAL_MULTI)
-+static inline int serial_getc_dev(unsigned int dev_index)
-+{
-+      return _serial_getc(dev_index);
-+}
-+#else
-+int serial_getc (void)
-+{
-+      return _serial_getc(UART_NR);
-+}
-+#endif
- 
- #ifdef CONFIG_HWFLOW
- static int hwflow = 0; /* turned off by default */
-@@ -142,9 +198,9 @@
- /*
-  * Output a single byte to the serial port.
-  */
--void serial_putc (const char c)
-+void _serial_putc (const char c, const int dev_index)
- {
--      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
-+      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
- #ifdef CONFIG_MODEM_SUPPORT
-       if (be_quiet)
-               return;
-@@ -165,24 +221,73 @@
-       if (c == '\n')
-               serial_putc ('\r');
- }
-+#if defined(CONFIG_SERIAL_MULTI)
-+static inline void serial_putc_dev(unsigned int dev_index, const char c)
-+{
-+      _serial_putc(c, dev_index);
-+}
-+#else
-+void serial_putc(const char c)
-+{
-+      _serial_putc(c, UART_NR);
-+}
-+#endif
-+
- 
- /*
-  * Test whether a character is in the RX buffer
-  */
--int serial_tstc (void)
-+int _serial_tstc(const int dev_index)
- {
--      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UART_NR);
-+      S3C24X0_UART * const uart = S3C24X0_GetBase_UART(dev_index);
- 
-       return uart->UTRSTAT & 0x1;
- }
-+#if defined(CONFIG_SERIAL_MULTI)
-+static inline int
-+serial_tstc_dev(unsigned int dev_index)
-+{
-+      return _serial_tstc(dev_index);
-+}
-+#else
-+int serial_tstc(void)
-+{
-+      return _serial_tstc(UART_NR);
-+}
-+#endif
- 
--void
--serial_puts (const char *s)
-+void _serial_puts(const char *s, const int dev_index)
- {
-       while (*s) {
--              serial_putc (*s++);
-+              _serial_putc (*s++, dev_index);
-       }
- }
-+#if defined(CONFIG_SERIAL_MULTI)
-+static inline void
-+serial_puts_dev(int dev_index, const char *s)
-+{
-+      _serial_puts(s, dev_index);
-+}
-+#else
-+void
-+serial_puts (const char *s)
-+{
-+      _serial_puts(s, UART_NR);
-+}
-+#endif
-+
-+#if defined(CONFIG_SERIAL_MULTI)
-+DECLARE_S3C_SERIAL_FUNCTIONS(0);
-+struct serial_device s3c24xx_serial0_device =
-+      INIT_S3C_SERIAL_STRUCTURE(0, "s3ser0", "S3UART1");
-+DECLARE_S3C_SERIAL_FUNCTIONS(1);
-+struct serial_device s3c24xx_serial1_device =
-+      INIT_S3C_SERIAL_STRUCTURE(1, "s3ser1", "S3UART2");
-+DECLARE_S3C_SERIAL_FUNCTIONS(2);
-+struct serial_device s3c24xx_serial2_device =
-+      INIT_S3C_SERIAL_STRUCTURE(2, "s3ser2", "S3UART3");
-+
-+#endif /* CONFIG_SERIAL_MULTI */
- 
- #endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) ||
-         defined(CONFIG_S3C2440) || defined (CONFIG_S3C2442) ||
 Index: u-boot/include/configs/neo1973_gta02.h
 ===================================================================
 --- u-boot.orig/include/configs/neo1973_gta02.h
 +++ u-boot/include/configs/neo1973_gta02.h
-@@ -61,7 +61,8 @@
- /*
-  * select serial console configuration
-  */
--#define CONFIG_SERIAL3          1     /* we use SERIAL 1 on GTA01 */
-+#define CONFIG_SERIAL3          1     /* we use SERIAL 3 on GTA02 */
-+#define CONFIG_SERIAL_MULTI   1
- 
- /* allow to overwrite serial and ethaddr */
- #define CONFIG_ENV_OVERWRITE
-@@ -104,6 +105,7 @@
+@@ -105,6 +105,7 @@
  #define CONFIG_CMD_FAT
  #define CONFIG_CMD_EXT2
  #define CONFIG_CMD_LICENSE
@@ -253,37 +13,6 @@
  
  #define CONFIG_BOOTDELAY      3
  #define CONFIG_BOOTARGS       ""
-Index: u-boot/include/serial.h
-===================================================================
---- u-boot.orig/include/serial.h
-+++ u-boot/include/serial.h
-@@ -35,6 +35,11 @@
- 
- #endif
- 
-+#if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || 
defined(CONFIG_S3C2442)
-+extern struct serial_device s3c24xx_serial0_device;
-+extern struct serial_device s3c24xx_serial1_device;
-+extern struct serial_device s3c24xx_serial2_device;
-+#endif
- 
- extern void serial_initialize(void);
- extern void serial_devices_init(void);
-Index: u-boot/lib_arm/board.c
-===================================================================
---- u-boot.orig/lib_arm/board.c
-+++ u-boot/lib_arm/board.c
-@@ -345,6 +345,10 @@
- #endif
-       }
- 
-+#ifdef CONFIG_SERIAL_MULTI
-+      serial_initialize();
-+#endif
-+
-       devices_init ();        /* get the devices list going. */
- 
- #ifdef CONFIG_CMC_PU2
 Index: u-boot/common/Makefile
 ===================================================================
 --- u-boot.orig/common/Makefile
@@ -301,7 +30,7 @@
 ===================================================================
 --- /dev/null
 +++ u-boot/common/cmd_terminal.c
-@@ -0,0 +1,101 @@
+@@ -0,0 +1,102 @@
 +/*
 + * (C) Copyright 2007 OpenMoko, Inc.
 + * Written by Harald Welte <[EMAIL PROTECTED]>
@@ -367,6 +96,7 @@
 +                      if (last_tilde == 1) {
 +                              if (c == '.') {
 +                                      putc(c);
++                                      putc('\n');
 +                                      break;
 +                              } else {
 +                                      last_tilde = 0;
@@ -403,3 +133,15 @@
 +);
 +
 +#endif /* CONFIG_CMD_TERMINAL */
+Index: u-boot/include/configs/neo1973_gta01.h
+===================================================================
+--- u-boot.orig/include/configs/neo1973_gta01.h
++++ u-boot/include/configs/neo1973_gta01.h
+@@ -103,6 +103,7 @@
+ #define CONFIG_CMD_FAT
+ #define CONFIG_CMD_EXT2
+ #define CONFIG_CMD_LICENSE
++#define CONFIG_CMD_TERMINAL
+ 
+ #define CONFIG_BOOTDELAY      3
+ #define CONFIG_BOOTARGS       ""




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to