Send commitlog mailing list submissions to
        commitlog@lists.openmoko.org

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. Openmoko's OpenEmbedded repository. This is used to build the
      Openmoko distribution: Changes to 'org.openmoko.april-update'
      ([EMAIL PROTECTED])
   2. r4449 - trunk/src/target/opkg/libopkg ([EMAIL PROTECTED])
   3. Openmoko's OpenEmbedded repository. This is used to build the
      Openmoko distribution: Changes to 'org.openmoko.april-update'
      ([EMAIL PROTECTED])
   4. r4450 - trunk/src/target/opkg/libopkg ([EMAIL PROTECTED])
   5. Openmoko's OpenEmbedded repository. This is used to build the
      Openmoko distribution: Changes to 'org.openmoko.asu.stable'
      ([EMAIL PROTECTED])
   6. Openmoko's OpenEmbedded repository. This is used to build the
      Openmoko distribution: Changes to 'org.openmoko.asu.dev'
      ([EMAIL PROTECTED])
   7. r4451 - trunk/src/target/opkg/libopkg ([EMAIL PROTECTED])
   8. r4452 - trunk/src/target/opkg/tests ([EMAIL PROTECTED])
   9. Production testing software for GTA02: Changes to 'master'
      ([EMAIL PROTECTED])
  10. Production testing software for GTA02: Changes to 'master'
      ([EMAIL PROTECTED])
  11. r4453 - in trunk/src/host/qemu-neo1973: . hw openmoko
      ([EMAIL PROTECTED])
--- Begin Message ---
 .../diversity-nav/switch-gps.patch                 |   35 ++++++++++++++++++++
 packages/openmoko-projects/diversity-nav_svn.bb    |    5 ++-
 2 files changed, 38 insertions(+), 2 deletions(-)

New commits:
commit 7836f6f441d3eb07420ada9ba78a79161444156c
Author: Julian_chu <[EMAIL PROTECTED]>
Date:   Tue May 27 16:12:02 2008 +0800

    [diversity] Add patch to diversity-nav
    new file:   packages/openmoko-projects/diversity-nav/switch-gps.patch




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2008-05-27 12:18:53 +0200 (Tue, 27 May 2008)
New Revision: 4449

Modified:
   trunk/src/target/opkg/libopkg/opkg.c
Log:
opkg: improve error reporting


Modified: trunk/src/target/opkg/libopkg/opkg.c
===================================================================
--- trunk/src/target/opkg/libopkg/opkg.c        2008-05-22 09:24:48 UTC (rev 
4448)
+++ trunk/src/target/opkg/libopkg/opkg.c        2008-05-27 10:18:53 UTC (rev 
4449)
@@ -455,6 +455,13 @@
               (curl_progress_func) curl_progress_cb, &cb_data);
     free(url);
 
+    if (err)
+    {
+      pkg_vec_free (deps);
+      opkg_package_free (pdata.package);
+      return OPKG_DOWNLOAD_FAILED;
+    }
+
   }
   pkg_vec_free (deps);
 
@@ -478,14 +485,20 @@
   err = opkg_install_pkg(opkg->conf, new, 0);
 
   if (err)
-    return err;
+  {
+    opkg_package_free (pdata.package);
+    return OPKG_UNKNOWN_ERROR;
+  }
 
   progress (pdata, 75);
 
   /* run configure scripts, etc. */
   err = opkg_configure_packages (opkg->conf, NULL);
   if (err)
-    return err;
+  {
+    opkg_package_free (pdata.package);
+    return OPKG_UNKOWN_ERROR;
+  }
 
   /* write out status files and file lists */
   opkg_conf_write_status_files (opkg->conf);
@@ -597,10 +610,14 @@
   pdata.package = old_pkg_to_new (pkg);
   progress (pdata, 0);
 
-  opkg_upgrade_pkg (opkg->conf, pkg);
+  err = opkg_upgrade_pkg (opkg->conf, pkg);
+  if (err)
+    return OPKG_UNKNOWN_ERROR;
   progress (pdata, 75);
 
-  opkg_configure_packages (opkg->conf, NULL);
+  err = opkg_configure_packages (opkg->conf, NULL);
+  if (err)
+    OPKG_UNKNOWN_ERROR;
   progress (pdata, 100);
   opkg_package_free (pdata.package);
   return 0;




--- End Message ---
--- Begin Message ---
 conf/distro/include/sane-srcdates.inc |    2 +-
 conf/distro/include/sane-srcrevs.inc  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 257319dfe10887588a1de5edc73af372317cc1a9
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date:   Tue May 27 12:27:11 2008 +0200

    [srcdate] Bump the EFL SRCDATE to the 28th of May
        We want the embryo_time.c fix to have the timezone fixes. The issue is
        that now it is the 27th of May. So we set the date to the future which 
means
        people checking out now and tomorrow will get different sources.
        There is no way to avoid this. Adding a time to the SRCDATE would 
create a new
        pile of issues (in regard to upgrading...)

commit 16f19979eda1b4ad4fd2412dc2d38109cc9f5c8b
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date:   Tue May 27 11:04:34 2008 +0200

    [srcrev] Build a more recent version of illume




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2008-05-27 12:41:50 +0200 (Tue, 27 May 2008)
New Revision: 4450

Modified:
   trunk/src/target/opkg/libopkg/opkg.c
Log:
opkg: fix typos


Modified: trunk/src/target/opkg/libopkg/opkg.c
===================================================================
--- trunk/src/target/opkg/libopkg/opkg.c        2008-05-27 10:18:53 UTC (rev 
4449)
+++ trunk/src/target/opkg/libopkg/opkg.c        2008-05-27 10:41:50 UTC (rev 
4450)
@@ -497,7 +497,7 @@
   if (err)
   {
     opkg_package_free (pdata.package);
-    return OPKG_UNKOWN_ERROR;
+    return OPKG_UNKNOWN_ERROR;
   }
 
   /* write out status files and file lists */
@@ -573,6 +573,7 @@
 int
 opkg_upgrade_package (opkg_t *opkg, const char *package_name, 
opkg_progress_callback_t progress_callback, void *user_data)
 {
+  int err;
   pkg_t *pkg;
   opkg_progress_data_t pdata;
 
@@ -617,7 +618,7 @@
 
   err = opkg_configure_packages (opkg->conf, NULL);
   if (err)
-    OPKG_UNKNOWN_ERROR;
+    return OPKG_UNKNOWN_ERROR;
   progress (pdata, 100);
   opkg_package_free (pdata.package);
   return 0;




--- End Message ---
--- Begin Message ---
New branch 'org.openmoko.asu.stable' available with the following commits:



--- End Message ---
--- Begin Message ---
New branch 'org.openmoko.asu.dev' available with the following commits:



--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2008-05-27 13:19:24 +0200 (Tue, 27 May 2008)
New Revision: 4451

Modified:
   trunk/src/target/opkg/libopkg/opkg.c
Log:
opkg: report errors from opkg_remove_pkg


Modified: trunk/src/target/opkg/libopkg/opkg.c
===================================================================
--- trunk/src/target/opkg/libopkg/opkg.c        2008-05-27 10:41:50 UTC (rev 
4450)
+++ trunk/src/target/opkg/libopkg/opkg.c        2008-05-27 11:19:24 UTC (rev 
4451)
@@ -512,6 +512,7 @@
 int
 opkg_remove_package (opkg_t *opkg, const char *package_name, 
opkg_progress_callback_t progress_callback, void *user_data)
 {
+  int err;
   pkg_t *pkg = NULL;
   pkg_t *pkg_to_remove;
   opkg_progress_data_t pdata;
@@ -519,11 +520,8 @@
   opkg_assert (opkg != NULL);
   opkg_assert (package_name != NULL);
 
-
-
   pkg_info_preinstall_check (opkg->conf);
 
-
   pkg = pkg_hash_fetch_installed_by_name (&opkg->conf->pkg_hash, package_name);
 
   if (pkg == NULL)
@@ -558,7 +556,7 @@
 
   progress (pdata, 75);
 
-  opkg_remove_pkg (opkg->conf, pkg_to_remove, 0);
+  err = opkg_remove_pkg (opkg->conf, pkg_to_remove, 0);
 
   /* write out status files and file lists */
   opkg_conf_write_status_files (opkg->conf);
@@ -567,7 +565,7 @@
 
   progress (pdata, 100);
   opkg_package_free (pdata.package);
-  return 0;
+  return (err) ? OPKG_UNKNOWN_ERROR : OPKG_NO_ERROR;
 }
 
 int




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2008-05-27 13:19:58 +0200 (Tue, 27 May 2008)
New Revision: 4452

Modified:
   trunk/src/target/opkg/tests/libopkg_test.c
Log:
opkg: add string versions of error codes to libopkg_test


Modified: trunk/src/target/opkg/tests/libopkg_test.c
===================================================================
--- trunk/src/target/opkg/tests/libopkg_test.c  2008-05-27 11:19:24 UTC (rev 
4451)
+++ trunk/src/target/opkg/tests/libopkg_test.c  2008-05-27 11:19:58 UTC (rev 
4452)
@@ -4,6 +4,17 @@
 
 opkg_package_t *find_pkg = NULL;
 
+char *errors[8] = {
+  "No Error",
+  "Unknown Eror",
+  "Download failed",
+  "Dependancies failed",
+  "Package already installed",
+  "Package not available",
+  "Package not found",
+  "Package not installed"
+};
+
 void
 progress_callback (opkg_t *opkg, const opkg_progress_data_t *progress, void 
*data)
 {
@@ -80,7 +91,7 @@
   opkg_re_read_config_files (opkg);
 
   err = opkg_update_package_lists (opkg, progress_callback, "Updating...");
-  printf ("\nopkg_update_package_lists returned %d\n", err);
+  printf ("\nopkg_update_package_lists returned %d (%s)\n", err, errors[err]);
 
   opkg_list_packages (opkg, package_list_callback, NULL);
   printf ("\n");
@@ -102,19 +113,19 @@
     printf ("No package available to test find_package.\n");
 
   err = opkg_install_package (opkg, "aspell", progress_callback, 
"Installing...");
-  printf ("\nopkg_install_package returned %d\n", err);
+  printf ("\nopkg_install_package returned %d (%s)\n", err, errors[err]);
 
   err = opkg_upgrade_package (opkg, "aspell", progress_callback, 
"Upgrading...");
-  printf ("\nopkg_upgrade_package returned %d\n", err);
+  printf ("\nopkg_upgrade_package returned %d (%s)\n", err, errors[err]);
 
   err = opkg_remove_package (opkg, "aspell", progress_callback, "Removing...");
-  printf ("\nopkg_remove_package returned %d\n", err);
+  printf ("\nopkg_remove_package returned %d (%s)\n", err, errors[err]);
 
   printf ("Listing upgradable packages...\n");
   opkg_list_upgradable_packages (opkg, package_list_upgradable_callback, NULL);
 
   err = opkg_upgrade_all (opkg, progress_callback, "Upgrading all...");
-  printf ("\nopkg_upgrade_all returned %d\n", err);
+  printf ("\nopkg_upgrade_all returned %d (%s)\n", err, errors[err]);
 
   opkg_free (opkg);
 




--- End Message ---
--- Begin Message ---
 Makefile                       |  124 ++++++++++++++++++++++++++--------------
 gta02-dm1/rootfs/rootfs.tar.gz |  Bin
 gta02-dm1/user_space/Makefile  |    2 +-
 3 files changed, 83 insertions(+), 43 deletions(-)

New commits:
commit 229c5aff47cc119a3ae3a92ae1e60c529236ed06
Author: Anthony Chang <[EMAIL PROTECTED]>
Date:   Tue May 27 13:43:26 2008 +0100

    build for DM1 kernel, include rootfs




--- End Message ---
--- Begin Message ---
Rebased ref, commits from common ancestor:
commit 5c1e954264313f770149572173f6ff535d76a6ab
Author: Anthony Chang <[EMAIL PROTECTED]>
Date:   Tue May 27 13:46:16 2008 +0100

    build for DM1 kernel, include rootfs




--- End Message ---
--- Begin Message ---
Author: andrew
Date: 2008-05-27 14:49:47 +0200 (Tue, 27 May 2008)
New Revision: 4453

Modified:
   trunk/src/host/qemu-neo1973/configure
   trunk/src/host/qemu-neo1973/hw/ar6000.c
   trunk/src/host/qemu-neo1973/openmoko/README
   trunk/src/host/qemu-neo1973/openmoko/linux-gta02-pseudo.patch
Log:
Rebase gta02fake support on top of
git://git.openmoko.org/git/kernel.git#andy, update README, etc.


Modified: trunk/src/host/qemu-neo1973/configure
===================================================================
--- trunk/src/host/qemu-neo1973/configure       2008-05-27 11:19:58 UTC (rev 
4452)
+++ trunk/src/host/qemu-neo1973/configure       2008-05-27 12:49:47 UTC (rev 
4453)
@@ -713,9 +713,12 @@
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 21)
 # include <linux/usb_ch9.h>
 # include <linux/usb_gadgetfs.h>
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 23)
+# include <linux/usb/ch9.h>
+# include <linux/usb_gadgetfs.h>
 #else
 # include <linux/usb/ch9.h>
-# include <linux/usb_gadgetfs.h>
+# include <linux/usb/gadgetfs.h>
 #endif
 #include <poll.h>
 #include <signal.h>

Modified: trunk/src/host/qemu-neo1973/hw/ar6000.c
===================================================================
--- trunk/src/host/qemu-neo1973/hw/ar6000.c     2008-05-27 11:19:58 UTC (rev 
4452)
+++ trunk/src/host/qemu-neo1973/hw/ar6000.c     2008-05-27 12:49:47 UTC (rev 
4453)
@@ -1193,7 +1193,7 @@
     bmi_execute,               /* Causes AR6K to execute code */
     bmi_set_app_start,         /* Set Target application starting address */
     bmi_read_soc_register,     /* Read a 32-bit Target SOC register */
-    bmi_Write_soc_register,    /* Write a 32-bit Target SOC register */
+    bmi_write_soc_register,    /* Write a 32-bit Target SOC register */
     bmi_get_target_id,         /* Fetch the 4-byte Target information */
     bmi_rompatch_install,      /* Install a ROM Patch */
     bmi_rompatch_uninstall,    /* Uninstall a previously-installed ROM Patch */

Modified: trunk/src/host/qemu-neo1973/openmoko/README
===================================================================
--- trunk/src/host/qemu-neo1973/openmoko/README 2008-05-27 11:19:58 UTC (rev 
4452)
+++ trunk/src/host/qemu-neo1973/openmoko/README 2008-05-27 12:49:47 UTC (rev 
4453)
@@ -2,40 +2,12 @@
 code but are in some way related or useful to have at hand.
 
 The kernel patch with GTA02fake support is based on:
- * kernel 2.6.24
- * OpenMoko patchset revision 3610 from
-   http://svn.openmoko.org/branches/src/target/kernel/2.6.24.x/patches/
+ * "andy" branch of the OpenMoko kernel git at around 2.6.26-rc1.
 
 The following sequence can be used to obtain a working tree on which the
 patch can be applied:
 
-cg-clone git://source.mvista.com/git/linux-omap-2.6.git
-tar -xvjf linux-2.6.22.5.tar.bz2
-cd linux-2.6.22.5
-cg-init
-git-add -r .
-cg-commit -C -m "Linux 2.6.22.5"
-svn co -r 3610 http://svn.openmoko.org/trunk/src/target/kernel/patches/
-quilt -a push
-cg-add -r * patches/*
-cg-rm include/sound/wavefront_fx.h
-cg-commit -m "Linux-OpenMoko"
-svn co -r 3610 http://svn.openmoko.org/developers/sameo/patches/ar6k-atheros/
-mv ar6k-atheros patches/
-wget -O patches/fix-EVIOCGRAB-semantics-2.6.22.5.patch 
http://www.openembedded.org/viewmtn/revision/downloadfile/105955293719b2a1414f1b03af410b8ff8dbdb1b/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch
-wget -O patches/fix-gta01-flowcontrol2-2.6.22.5.patch 
http://www.openembedded.org/viewmtn/revision/downloadfile/105955293719b2a1414f1b03af410b8ff8dbdb1b/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch
-cat >> patches/series
-fix-EVIOCGRAB-semantics-2.6.22.5.patch -p1
-fix-gta01-flowcontrol2-2.6.22.5.patch -p1
-ar6k-atheros/common_atheros_sdiostack.patch
-ar6k-atheros/common_atheros_sdiostack_functions.patch
-ar6k-atheros/common_atheros_sdiostack_shcd.patch
-ar6k-atheros/common_atheros_sdiostack_ar6000_wlan.patch
-ar6k-atheros/pnp_fixes_2.6.22.5.patch
-ar6k-atheros/mach-gta02_wifi.patch
-ar6k-atheros/s3c24xx_hcd_atheros.patch
-^D
-quilt -a push
-cg-add -r * patches/* patches/ar6k-atheros/*
-cg-commit -m "Linux-sameo-WLAN"
-cg-patch < ../linux-gta02-pseudo.patch
+cg-clone git://git.openmoko.org/git/kernel.git#andy
+cd kernel
+cg-switch -r fbfbc5130075e233f2fd2613e2897c3c4ed4bc7f gta02fake
+cg-patch -c -e "GTA02-psuedo support." < ../linux-gta02-pseudo.patch

Modified: trunk/src/host/qemu-neo1973/openmoko/linux-gta02-pseudo.patch
===================================================================
--- trunk/src/host/qemu-neo1973/openmoko/linux-gta02-pseudo.patch       
2008-05-27 11:19:58 UTC (rev 4452)
+++ trunk/src/host/qemu-neo1973/openmoko/linux-gta02-pseudo.patch       
2008-05-27 12:49:47 UTC (rev 4453)
@@ -1,8 +1,32 @@
+GTA02-psuedo support.
+
+---
+commit 9b2c7de6c48b66346a719c476b218a1b9cbe47a0
+tree b51c086e9869298a4073895d635da80c2df7ea6c
+parent fbfbc5130075e233f2fd2613e2897c3c4ed4bc7f
+author Andrzej Zaborowski <[EMAIL PROTECTED]> Tue, 27 May 2008 14:37:06 +0200
+committer Andrzej Zaborowski <[EMAIL PROTECTED]> Tue, 27 May 2008 14:37:06 
+0200
+
+ arch/arm/boot/compressed/Makefile      |    4 
+ arch/arm/boot/compressed/head-qemu.S   |   32 +
+ arch/arm/mach-s3c2410/Kconfig          |    8 
+ arch/arm/mach-s3c2410/Makefile         |    1 
+ arch/arm/mach-s3c2410/mach-gta01.c     |   14 -
+ arch/arm/mach-s3c2410/mach-gta02f.c    |  811 ++++++++++++++++++++++++++++++++
+ arch/arm/mach-s3c2440/mach-gta02.c     |   24 -
+ arch/arm/tools/mach-types              |    1 
+ defconfig-2.6.22.5                     |    1 
+ defconfig-2.6.24                       |    1 
+ defconfig-gta02                        |    1 
+ drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c |   44 +-
+ include/asm-arm/plat-s3c24xx/pm.h      |    2 
+ 13 files changed, 903 insertions(+), 41 deletions(-)
+
 diff --git a/arch/arm/boot/compressed/Makefile 
b/arch/arm/boot/compressed/Makefile
-index adddc71..0da1e56 100644
+index 5fde99f..ac32d45 100644
 --- a/arch/arm/boot/compressed/Makefile
 +++ b/arch/arm/boot/compressed/Makefile
-@@ -50,6 +50,10 @@ ifeq ($(CONFIG_ARCH_AT91RM9200),y)
+@@ -48,6 +48,10 @@ ifeq ($(CONFIG_ARCH_AT91RM9200),y)
  OBJS          += head-at91rm9200.o
  endif
  
@@ -52,10 +76,10 @@
 +      cmp     r2, #'Q'                @ Compare against magic value 2
 +      streq   r1, [r0]                @ If ok, get the machine ID
 diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig
-index dc833c0..2347376 100644
+index e42195f..843ecbd 100644
 --- a/arch/arm/mach-s3c2410/Kconfig
 +++ b/arch/arm/mach-s3c2410/Kconfig
-@@ -123,5 +123,13 @@ config MACH_NEO1973_GTA01
+@@ -125,5 +125,13 @@ config MACH_NEO1973_GTA01
        help
           Say Y here if you are using the FIC Neo1973 GSM Phone
  
@@ -79,10 +103,10 @@
  obj-$(CONFIG_MACH_NEO1973_GTA01)+= mach-gta01.o
 +obj-$(CONFIG_MACH_NEO1973_GTA02F)+= mach-gta02f.o
 diff --git a/arch/arm/mach-s3c2410/mach-gta01.c 
b/arch/arm/mach-s3c2410/mach-gta01.c
-index 94e35a7..b929229 100644
+index b0cb544..99c36e6 100644
 --- a/arch/arm/mach-s3c2410/mach-gta01.c
 +++ b/arch/arm/mach-s3c2410/mach-gta01.c
-@@ -263,7 +263,7 @@ static struct resource gta01_pmu_resources[] = {
+@@ -272,7 +272,7 @@ static struct resource gta01_pmu_resources[] = {
        },
  };
  
@@ -91,46 +115,32 @@
        .name           = "pcf50606",
        .num_resources  = ARRAY_SIZE(gta01_pmu_resources),
        .resource       = gta01_pmu_resources,
-@@ -356,6 +356,7 @@ static struct s3c2410_platform_nand gta01_nand_info = {
-       .sets           = gta01_nand_sets,
- };
+@@ -505,13 +505,13 @@ static struct s3c2410_ts_mach_info gta01_ts_cfg = {
  
-+#if 0
- static unsigned int mmc_millivolts[] = {
-       [MMC_VDD_145_150]       = 1500,
-       [MMC_VDD_150_155]       = 1500,
-@@ -379,6 +380,7 @@ static unsigned int mmc_millivolts[] = {
-       [MMC_VDD_31_32]         = 3200,
-       [MMC_VDD_32_33]         = 3300,
- };
-+#endif
+ /* SPI */
  
- static void gta01_mmc_set_power(unsigned char power_mode, unsigned short vdd)
+-void gta01_jbt6k74_reset(int devidx, int level)
++static void gta01_jbt6k74_reset(int devidx, int level)
  {
-@@ -472,12 +474,10 @@ static void __gta01_udc_vbus_draw(struct work_struct 
*work)
-       }
+       /* empty place holder; gta01 does not yet use this */
+       printk(KERN_DEBUG "gta01_jbt6k74_reset\n");
  }
  
--static int gta01_udc_vbus_draw(unsigned int ma)
-+static void gta01_udc_vbus_draw(unsigned int ma)
- {
-       gta01_udc_vbus_drawer.ma = ma;
-       schedule_work(&gta01_udc_vbus_drawer.work);
--
--      return 0;
- }
+-const struct jbt6k74_platform_data gta01_jbt6k74_pdata = {
++static const struct jbt6k74_platform_data gta01_jbt6k74_pdata = {
+       .reset          = gta01_jbt6k74_reset,
+ };
  
- static struct s3c2410_udc_mach_info gta01_udc_cfg = {
-@@ -552,7 +552,7 @@ static struct resource s3c_spi_lcm_resource[] = {
+@@ -568,7 +568,7 @@ static struct resource s3c_spi_lcm_resource[] = {
        },
  };
  
 -struct platform_device s3c_device_spi_lcm = {
 +static struct platform_device s3c_device_spi_lcm = {
-       .name             = "s3c24xx-spi-gpio",
+       .name             = "spi_s3c24xx_gpio",
        .id               = 1,
        .num_resources    = ARRAY_SIZE(s3c_spi_lcm_resource),
-@@ -576,7 +576,7 @@ static struct resource gta01_bl_resources[] = {
+@@ -591,7 +591,7 @@ static struct resource gta01_bl_resources[] = {
        },
  };
  
@@ -139,40 +149,30 @@
        .name           = "gta01-bl",
        .num_resources  = ARRAY_SIZE(gta01_bl_resources),
        .resource       = gta01_bl_resources,
-@@ -592,7 +592,7 @@ static struct resource gta01_led_resources[] = {
+@@ -607,7 +607,7 @@ static struct resource gta01_led_resources[] = {
        },
  };
  
 -struct platform_device gta01_led_dev = {
 +static struct platform_device gta01_led_dev = {
-       .name           = "gta01-led",
+       .name           = "neo1973-vibrator",
        .num_resources  = ARRAY_SIZE(gta01_led_resources),
        .resource       = gta01_led_resources,
-@@ -613,7 +613,7 @@ static struct resource gta01_button_resources[] = {
+@@ -628,7 +628,7 @@ static struct resource gta01_button_resources[] = {
        },
  };
  
 -struct platform_device gta01_button_dev = {
 +static struct platform_device gta01_button_dev = {
-       .name           ="gta01-button",
+       .name           = "neo1973-button",
        .num_resources  = ARRAY_SIZE(gta01_button_resources),
        .resource       = gta01_button_resources,
-@@ -707,8 +707,7 @@ static void __init gta01_machine_init(void)
-       s3c2410_pm_init();
- 
-       set_irq_type(GTA01_IRQ_MODEM, IRQT_RISING);
--      request_irq(GTA01_IRQ_MODEM, gta01_modem_irq,
--                  SA_INTERRUPT, "modem", NULL);
-+      request_irq(GTA01_IRQ_MODEM, gta01_modem_irq, 0, "modem", NULL);
-       enable_irq_wake(GTA01_IRQ_MODEM);
- }
- 
 diff --git a/arch/arm/mach-s3c2410/mach-gta02f.c 
b/arch/arm/mach-s3c2410/mach-gta02f.c
 new file mode 100644
-index 0000000..e9c7bfe
+index 0000000..a51f8e4
 --- /dev/null
 +++ b/arch/arm/mach-s3c2410/mach-gta02f.c
-@@ -0,0 +1,785 @@
+@@ -0,0 +1,811 @@
 +/*
 + * linux/arch/arm/mach-s3c2410/mach-gta02f.c
 + *
@@ -182,6 +182,9 @@
 + *  o the WLAN chip on SDIO
 + *  o the accelerometers
 + *  o no SD slot
++ *  o third UART
++ *  o TODO: Flash size
++ *  o TODO: "-version" and "-resume" devices
 + *
 + * Copyright (C) 2007 OpenMoko, Inc.
 + *
@@ -211,6 +214,7 @@
 +#include <linux/workqueue.h>
 +#include <linux/platform_device.h>
 +#include <linux/serial_core.h>
++#include <asm/arch/ts.h>
 +#include <linux/spi/spi.h>
 +#include <linux/spi/spi_bitbang.h>
 +#include <linux/mmc/mmc.h>
@@ -221,6 +225,8 @@
 +#include <linux/mtd/nand_ecc.h>
 +#include <linux/mtd/partitions.h>
 +
++#include <linux/mmc/host.h>
++
 +#include <linux/pcf50606.h>
 +
 +#include <asm/mach/arch.h>
@@ -232,13 +238,9 @@
 +#include <asm/irq.h>
 +#include <asm/mach-types.h>
 +
-+#include <asm/arch/regs-serial.h>
 +#include <asm/arch/regs-gpio.h>
 +#include <asm/arch/fb.h>
-+#include <asm/arch/udc.h>
-+#include <asm/arch/nand.h>
 +#include <asm/arch/mci.h>
-+#include <asm/arch/ts.h>
 +#include <asm/arch/spi.h>
 +#include <asm/arch/spi-gpio.h>
 +#include <asm/arch/usb-control.h>
@@ -246,10 +248,18 @@
 +#include <asm/arch/gta01.h>
 +#include <asm/arch/gta02.h>
 +
++#include <asm/plat-s3c/regs-serial.h>
++#include <asm/plat-s3c/nand.h>
 +#include <asm/plat-s3c24xx/devs.h>
 +#include <asm/plat-s3c24xx/cpu.h>
 +#include <asm/plat-s3c24xx/pm.h>
++#include <asm/plat-s3c24xx/udc.h>
++#include <asm/plat-s3c24xx/neo1973.h>
++#include <linux/jbt6k74.h>
 +
++#include <linux/neospy.h>
++extern struct neospy_logdata neospy;
++
 +static struct map_desc gta01_iodesc[] __initdata = {
 +      {
 +              .virtual        = 0xe0000000,
@@ -262,6 +272,8 @@
 +#define UCON S3C2410_UCON_DEFAULT
 +#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
 +#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
++/* UFCON for the gta01 sets the FIFO trigger level at 4, not 8 */
++#define UFCON_GTA01_PORT0 S3C2410_UFCON_FIFOMODE
 +
 +static struct s3c2410_uartcfg gta01_uartcfgs[] = {
 +      [0] = {
@@ -269,7 +281,7 @@
 +              .flags       = 0,
 +              .ucon        = UCON,
 +              .ulcon       = ULCON,
-+              .ufcon       = UFCON,
++              .ufcon       = UFCON_GTA01_PORT0,
 +      },
 +      [1] = {
 +              .hwport      = 1,
@@ -460,25 +472,24 @@
 +
 +/* LCD driver info */
 +
-+/* Configuration for 480x640 toppoly TD028TTEC1 */
-+static struct s3c2410fb_mach_info gta01_lcd_cfg __initdata = {
-+      .regs   = {
-+              .lcdcon1        = S3C2410_LCDCON1_TFT16BPP |
-+                                S3C2410_LCDCON1_TFT |
-+                                S3C2410_LCDCON1_CLKVAL(0x01), /* HCLK/4 */
++/* Configuration for 480x640 toppoly TD028TTEC1.
++ * Do not mark this as __initdata or it will break! */
++static struct s3c2410fb_display gta01_displays[] =  {
++      {
++              .type           = S3C2410_LCDCON1_TFT,
++              .width          = 43,
++              .height         = 58,
++              .xres           = 480,
++              .yres           = 640,
++              .bpp            = 16,
 +
-+              .lcdcon2        = S3C2410_LCDCON2_VBPD(1) |     /* 2 */
-+                                S3C2410_LCDCON2_LINEVAL(639) |/* 640 */
-+                                S3C2410_LCDCON2_VFPD(15) |    /* 16 */
-+                                S3C2410_LCDCON2_VSPW(1),      /* 2 */
-+
-+              .lcdcon3        = S3C2410_LCDCON3_HBPD(7) |     /* 8 */
-+                                S3C2410_LCDCON3_HOZVAL(479) | /* 480 */
-+                                S3C2410_LCDCON3_HFPD(103),    /* 104 */
-+
-+              .lcdcon4        = S3C2410_LCDCON4_MVAL(0) |
-+                                S3C2410_LCDCON4_HSPW(7),      /* 8 */
-+
++              .pixclock       = 40000,        /* HCLK/4 */
++              .left_margin    = 104,
++              .right_margin   = 8,
++              .hsync_len      = 8,
++              .upper_margin   = 2,
++              .lower_margin   = 16,
++              .vsync_len      = 2,
 +              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
 +                                S3C2410_LCDCON5_INVVCLK |
 +                                S3C2410_LCDCON5_INVVLINE |
@@ -486,31 +497,60 @@
 +                                S3C2410_LCDCON5_PWREN |
 +                                S3C2410_LCDCON5_HWSWP,
 +      },
++      {
++              .type           = S3C2410_LCDCON1_TFT,
++              .width          = 43,
++              .height         = 58,
++              .xres           = 480,
++              .yres           = 640,
++              .bpp            = 32,
 +
-+      .lpcsel         = ((0xCE6) & ~7) | 1<<4,
-+      .type           = S3C2410_LCDCON1_TFT,
-+
-+      .width          = 480,
-+      .height         = 640,
-+
-+      .xres           = {
-+              .min    = 240,
-+              .max    = 480,
-+              .defval = 480,
++              .pixclock       = 40000,        /* HCLK/4 */
++              .left_margin    = 104,
++              .right_margin   = 8,
++              .hsync_len      = 8,
++              .upper_margin   = 2,
++              .lower_margin   = 16,
++              .vsync_len      = 2,
++              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
++                                S3C2410_LCDCON5_INVVCLK |
++                                S3C2410_LCDCON5_INVVLINE |
++                                S3C2410_LCDCON5_INVVFRAME |
++                                S3C2410_LCDCON5_PWREN |
++                                S3C2410_LCDCON5_HWSWP,
 +      },
++      {
++              .type           = S3C2410_LCDCON1_TFT,
++              .width          = 43,
++              .height         = 58,
++              .xres           = 240,
++              .yres           = 320,
++              .bpp            = 16,
 +
-+      .yres           = {
-+              .min    = 320,
-+              .max    = 640,
-+              .defval = 640,
++              .pixclock       = 40000,        /* HCLK/4 */
++              .left_margin    = 104,
++              .right_margin   = 8,
++              .hsync_len      = 8,
++              .upper_margin   = 2,
++              .lower_margin   = 16,
++              .vsync_len      = 2,
++              .lcdcon5        = S3C2410_LCDCON5_FRM565 |
++                                S3C2410_LCDCON5_INVVCLK |
++                                S3C2410_LCDCON5_INVVLINE |
++                                S3C2410_LCDCON5_INVVFRAME |
++                                S3C2410_LCDCON5_PWREN |
++                                S3C2410_LCDCON5_HWSWP,
 +      },
++};
 +
-+      .bpp            = {
-+              .min    = 1,
-+              .max    = 32,
-+              .defval = 16,
-+      },
++static struct s3c2410fb_mach_info gta01_lcd_cfg __initdata = {
++      .displays       = gta01_displays,
++      .num_displays   = ARRAY_SIZE(gta01_displays),
++      .default_display = 0,
++
++      .lpcsel         = ((0xCE6) & ~7) | 1<<4,
 +};
++
 +static struct platform_device *gta01_devices[] __initdata = {
 +      &s3c_device_usb,
 +      &s3c_device_lcd,
@@ -527,13 +567,10 @@
 +      [0] = {
 +              .name           = "neo1973-nand",
 +              .nr_chips       = 1,
++              .flags          = S3C2410_NAND_BBT,
 +      },
 +};
 +
-+/* choose a set of timings which should suit most 512Mbit
-+ * chips and beyond.
-+ */
-+
 +static struct s3c2410_platform_nand gta01_nand_info = {
 +      .tacls          = 20,
 +      .twrph0         = 60,
@@ -542,56 +579,43 @@
 +      .sets           = gta01_nand_sets,
 +};
 +
-+#if 0
-+static unsigned int mmc_millivolts[] = {
-+      [MMC_VDD_145_150]       = 1500,
-+      [MMC_VDD_150_155]       = 1500,
-+      [MMC_VDD_155_160]       = 1600,
-+      [MMC_VDD_160_165]       = 1600,
-+      [MMC_VDD_165_170]       = 1700,
-+      [MMC_VDD_17_18]         = 1800,
-+      [MMC_VDD_18_19]         = 1900,
-+      [MMC_VDD_19_20]         = 2000,
-+      [MMC_VDD_20_21]         = 2100,
-+      [MMC_VDD_21_22]         = 2200,
-+      [MMC_VDD_22_23]         = 2300,
-+      [MMC_VDD_23_24]         = 2400,
-+      [MMC_VDD_24_25]         = 2500,
-+      [MMC_VDD_25_26]         = 2600,
-+      [MMC_VDD_26_27]         = 2700,
-+      [MMC_VDD_27_28]         = 2800,
-+      [MMC_VDD_28_29]         = 2900,
-+      [MMC_VDD_29_30]         = 3000,
-+      [MMC_VDD_30_31]         = 3100,
-+      [MMC_VDD_31_32]         = 3200,
-+      [MMC_VDD_32_33]         = 3300,
-+};
-+#endif
-+
 +static void gta01_mmc_set_power(unsigned char power_mode, unsigned short vdd)
 +{
-+      printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u\n",
++      int bit;
++      int mv = 1700; /* 1.7V for MMC_VDD_165_195 */
++
++      printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u)\n",
 +             power_mode, vdd);
 +
 +      switch (system_rev) {
 +      case GTA01v3_SYSTEM_REV:
-+              /* FIXME */
++              switch (power_mode) {
++              case MMC_POWER_OFF:
++                      pcf50606_onoff_set(pcf50606_global,
++                                         PCF50606_REGULATOR_D2REG, 0);
++                      break;
++              case MMC_POWER_ON:
++                      /* translate MMC_VDD_* VDD bit to mv */
++                      for (bit = 8; bit != 24; bit++)
++                              if (vdd == (1 << bit))
++                                      mv += 100 * (bit - 4);
++                      pcf50606_voltage_set(pcf50606_global,
++                                           PCF50606_REGULATOR_D2REG, mv);
++                      pcf50606_onoff_set(pcf50606_global,
++                                         PCF50606_REGULATOR_D2REG, 1);
++                      break;
++              }
 +              break;
 +      case GTA01v4_SYSTEM_REV:
-+              /* FIXME: set GTA01_GPIO_SDMMC_ON on GTA01v4 */
-+              //pcf50606_voltage_set(mmc_millivolts[vdd]);
-+              break;
 +      case GTA01Bv2_SYSTEM_REV:
 +      case GTA01Bv3_SYSTEM_REV:
-+              /* FIXME */
-+              break;
 +      case GTA01Bv4_SYSTEM_REV:
 +              switch (power_mode) {
 +              case MMC_POWER_OFF:
-+                      s3c2410_gpio_setpin(GTA01_GPIO_SDMMC_ON, 1);
++                      neo1973_gpb_setpin(GTA01_GPIO_SDMMC_ON, 1);
 +                      break;
 +              case MMC_POWER_ON:
-+                      s3c2410_gpio_setpin(GTA01_GPIO_SDMMC_ON, 0);
++                      neo1973_gpb_setpin(GTA01_GPIO_SDMMC_ON, 0);
 +                      break;
 +              }
 +              break;
@@ -601,16 +625,11 @@
 +static struct s3c24xx_mci_pdata gta01_mmc_cfg = {
 +      .gpio_detect    = GTA01_GPIO_nSD_DETECT,
 +      .set_power      = &gta01_mmc_set_power,
-+      .ocr_avail      = MMC_VDD_32_33,                /* GTA01Bv2/3/4 */
-+#if 0
-+      .ocr_avail      = MMC_VDD_145_150|MMC_VDD_150_155|MMC_VDD_155_160|
-+                        MMC_VDD_160_165| MMC_VDD_165_170|MMC_VDD_17_18|
-+                        MMC_VDD_18_19|MMC_VDD_19_20|MMC_VDD_20_21|
++      .ocr_avail      = MMC_VDD_165_195|MMC_VDD_20_21|
 +                        MMC_VDD_21_22|MMC_VDD_22_23|MMC_VDD_23_24|
 +                        MMC_VDD_24_25|MMC_VDD_25_26|MMC_VDD_26_27|
 +                        MMC_VDD_27_28|MMC_VDD_28_29|MMC_VDD_29_30|
 +                        MMC_VDD_30_31|MMC_VDD_31_32|MMC_VDD_32_33,
-+#endif
 +};
 +
 +static struct resource gta02_sdio_resources[] = {
@@ -647,14 +666,11 @@
 +
 +      switch (cmd) {
 +      case S3C2410_UDC_P_ENABLE:
-+              s3c2410_gpio_setpin(GTA01_GPIO_USB_PULLUP, 1);
++              neo1973_gpb_setpin(GTA01_GPIO_USB_PULLUP, 1);
 +              break;
 +      case S3C2410_UDC_P_DISABLE:
-+              s3c2410_gpio_setpin(GTA01_GPIO_USB_PULLUP, 0);
++              neo1973_gpb_setpin(GTA01_GPIO_USB_PULLUP, 0);
 +              break;
-+      case S3C2410_UDC_P_RESET:
-+              /* FIXME! */
-+              break;
 +      default:
 +              break;
 +      }
@@ -671,9 +687,9 @@
 +
 +static void __gta01_udc_vbus_draw(struct work_struct *work)
 +{
-+      /* FIXME: this is a quick fix to work around boot-time
-+       * ordering problems if the s3c2410_udc is initialized
-+       * before the pcf50606 driver has defined pcf50606_global */
++      /* this is a fix to work around boot-time ordering problems if the
++       * s3c2410_udc is initialized before the pcf50606 driver has defined
++       * pcf50606_global */
 +      if (!pcf50606_global)
 +              return;
 +
@@ -706,10 +722,20 @@
 +
 +/* SPI */
 +
-+static struct spi_board_info gta01_spi_board_info[] __initdata = {
++static void gta01_jbt6k74_reset(int devidx, int level)
++{
++      /* empty place holder; gta01 does not yet use this */
++      printk(KERN_DEBUG "gta01_jbt6k74_reset\n");
++}
++
++static const struct jbt6k74_platform_data gta01_jbt6k74_pdata = {
++      .reset          = gta01_jbt6k74_reset,
++};
++
++static struct spi_board_info gta01_spi_board_info[] = {
 +      {
 +              .modalias       = "jbt6k74",
-+              /* platform_data */
++              .platform_data  = &gta01_jbt6k74_pdata,
 +              /* controller_data */
 +              /* irq */
 +              .max_speed_hz   = 10 * 1000 * 1000,
@@ -718,15 +744,7 @@
 +      },
 +};
 +
-+
-+#ifdef SPI_HARD
-+static struct s3c2410_spi_info spi_cfg = {
-+      .pin_cs         = S3C2410_GPG3,
-+      .board_size     = ARRAY_SIZE(gta01_spi_board_info),
-+      .board_info     = gta01_spi_board_info,
-+};
-+#else
-+static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int cs)
++static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int csidx, int cs)
 +{
 +      switch (cs) {
 +      case BITBANG_CS_ACTIVE:
@@ -745,6 +763,7 @@
 +      .board_size     = ARRAY_SIZE(gta01_spi_board_info),
 +      .board_info     = gta01_spi_board_info,
 +      .chip_select    = &spi_gpio_cs,
++      .num_chipselect = 2,   /*** Should be 1 or 2 for gta01? ***/
 +};
 +
 +static struct resource s3c_spi_lcm_resource[] = {
@@ -767,7 +786,7 @@
 +};
 +
 +static struct platform_device s3c_device_spi_lcm = {
-+      .name             = "s3c24xx-spi-gpio",
++      .name             = "spi_s3c24xx_gpio",
 +      .id               = 1,
 +      .num_resources    = ARRAY_SIZE(s3c_spi_lcm_resource),
 +      .resource         = s3c_spi_lcm_resource,
@@ -775,7 +794,6 @@
 +              .platform_data = &spi_gpio_cfg,
 +      },
 +};
-+#endif
 +
 +static struct gta01bl_machinfo backlight_machinfo = {
 +      .default_intensity      = 1,
@@ -790,7 +808,7 @@
 +      },
 +};
 +
-+struct platform_device gta01_bl_dev = {
++static struct platform_device gta01_bl_dev = {
 +      .name           = "gta01-bl",
 +      .num_resources  = ARRAY_SIZE(gta01_bl_resources),
 +      .resource       = gta01_bl_resources,
@@ -806,8 +824,8 @@
 +      },
 +};
 +
-+struct platform_device gta01_led_dev = {
-+      .name           = "gta01-led",
++static struct platform_device gta01_led_dev = {
++      .name           = "neo1973-vibrator",
 +      .num_resources  = ARRAY_SIZE(gta01_led_resources),
 +      .resource       = gta01_led_resources,
 +};
@@ -828,13 +846,13 @@
 +};
 +
 +static struct platform_device gta01_button_dev = {
-+      .name           ="gta01-button",
++      .name           = "neo1973-button",
 +      .num_resources  = ARRAY_SIZE(gta01_button_resources),
 +      .resource       = gta01_button_resources,
 +};
 +
 +static struct platform_device gta01_pm_gsm_dev = {
-+      .name           ="gta01-pm-gsm",
++      .name           = "neo1973-pm-gsm",
 +};
 +
 +/* USB */
@@ -854,19 +872,27 @@
 +      s3c24xx_init_uarts(gta01_uartcfgs, ARRAY_SIZE(gta01_uartcfgs));
 +}
 +
++extern int gta_gsm_interrupts;
++
 +static irqreturn_t gta01_modem_irq(int irq, void *param)
 +{
-+      printk(KERN_DEBUG "modem wakeup interrupt\n");
++      printk(KERN_DEBUG "GSM wakeup interrupt (IRQ %d)\n", irq);
++      gta_gsm_interrupts++;
++      nspy_add(NSPY_TYPE_SPECIAL, '*', jiffies);
 +      return IRQ_HANDLED;
 +}
 +
 +static void __init gta02f_machine_init(void)
 +{
++      int rc;
++
 +      if (system_rev == GTA01v4_SYSTEM_REV ||
 +          system_rev == GTA01Bv2_SYSTEM_REV ||
 +          system_rev == GTA01Bv3_SYSTEM_REV ||
-+          system_rev == GTA01Bv4_SYSTEM_REV)
++          system_rev == GTA01Bv4_SYSTEM_REV) {
 +              gta01_udc_cfg.udc_command = gta01_udc_command;
++              gta01_mmc_cfg.ocr_avail = MMC_VDD_32_33;
++      }
 +
 +      s3c_device_usb.dev.platform_data = &gta01_usb_info;
 +      s3c_device_nand.dev.platform_data = &gta01_nand_info;
@@ -904,14 +930,11 @@
 +      s3c2410_gpio_cfgpin(S3C2410_GPC6, S3C2410_GPIO_OUTPUT);
 +      s3c2410_gpio_setpin(S3C2410_GPC6, 1);
 +
-+#ifdef SPI_HARD
-+#else
 +      /* SPI chip select is gpio output */
 +      s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPIO_OUTPUT);
 +      s3c2410_gpio_setpin(S3C2410_GPG3, 1);
++      platform_device_register(&s3c_device_spi_lcm);
 +
-+      platform_device_register(&s3c_device_spi_lcm);
-+#endif
 +      platform_device_register(&gta01_bl_dev);
 +      platform_device_register(&gta01_button_dev);
 +      platform_device_register(&gta01_pm_gsm_dev);
@@ -945,8 +968,11 @@
 +      s3c2410_pm_init();
 +
 +      set_irq_type(GTA01_IRQ_MODEM, IRQT_RISING);
-+      request_irq(GTA01_IRQ_MODEM, gta01_modem_irq, 0, "modem", NULL);
++      rc = request_irq(GTA01_IRQ_MODEM, gta01_modem_irq, IRQF_DISABLED,
++                       "modem", NULL);
 +      enable_irq_wake(GTA01_IRQ_MODEM);
++      printk(KERN_DEBUG  "Enabled GSM wakeup IRQ %d (rc=%d)\n",
++             GTA01_IRQ_MODEM, rc);
 +}
 +
 +MACHINE_START(NEO1973_GTA02F, "GTA02")
@@ -959,10 +985,25 @@
 +      .timer          = &s3c24xx_timer,
 +MACHINE_END
 diff --git a/arch/arm/mach-s3c2440/mach-gta02.c 
b/arch/arm/mach-s3c2440/mach-gta02.c
-index 1c2fb61..9add88e 100644
+index 9744ac2..0a12297 100644
 --- a/arch/arm/mach-s3c2440/mach-gta02.c
 +++ b/arch/arm/mach-s3c2440/mach-gta02.c
-@@ -296,7 +296,7 @@ static struct resource gta02_pmu_resources[] = {
+@@ -376,12 +376,12 @@ int gta02_get_pcb_revision(void)
+       return u;
+ }
+ 
+-struct platform_device gta02_version_device = {
++static struct platform_device gta02_version_device = {
+       .name           = "neo1973-version",
+       .num_resources  = 0,
+ };
+ 
+-struct platform_device gta02_resume_reason_device = {
++static struct platform_device gta02_resume_reason_device = {
+       .name           = "neo1973-resume",
+       .num_resources  = 0,
+ };
+@@ -631,7 +631,7 @@ static struct resource gta02_pmu_resources[] = {
        },
  };
  
@@ -971,10 +1012,78 @@
        .name           = "pcf50633",
        .num_resources  = ARRAY_SIZE(gta02_pmu_resources),
        .resource       = gta02_pmu_resources,
-@@ -542,7 +542,7 @@ static struct resource gta02_led_resources[] = {
+@@ -650,7 +650,7 @@ static struct resource sc32440_fiq_resources[] = {
        },
  };
  
+-struct platform_device sc32440_fiq_device = {
++static struct platform_device sc32440_fiq_device = {
+       .name           = "sc32440_fiq",
+       .num_resources  = 1,
+       .resource       = sc32440_fiq_resources,
+@@ -666,7 +666,7 @@ static struct resource gta02_hdq_resources[] = {
+       },
+ };
+ 
+-struct platform_device gta02_hdq_device = {
++static struct platform_device gta02_hdq_device = {
+       .name           = "gta02-hdq",
+       .num_resources  = 1,
+       .resource       = gta02_hdq_resources,
+@@ -675,7 +675,7 @@ struct platform_device gta02_hdq_device = {
+ 
+ /* BQ27000 Battery */
+ 
+-struct bq27000_platform_data bq27000_pdata = {
++static struct bq27000_platform_data bq27000_pdata = {
+       .name = "bat",
+       .rsense_mohms = 20,
+       .hdq_read = gta02hdq_read,
+@@ -683,7 +683,7 @@ struct bq27000_platform_data bq27000_pdata = {
+       .hdq_initialized = gta02hdq_initialized,
+ };
+ 
+-struct platform_device bq27000_battery_device = {
++static struct platform_device bq27000_battery_device = {
+       .name           = "bq27000-battery",
+       .dev = {
+               .platform_data = &bq27000_pdata,
+@@ -747,7 +747,7 @@ static struct platform_device gta02_sdio_dev = {
+         .num_resources  = ARRAY_SIZE(gta02_sdio_resources),
+ };
+ 
+-struct platform_device s3c24xx_pwm_device = {
++static struct platform_device s3c24xx_pwm_device = {
+       .name           = "s3c24xx_pwm",
+       .num_resources  = 0,
+ };
+@@ -852,19 +852,19 @@ static struct s3c2410_ts_mach_info gta02_ts_cfg = {
+ 
+ /* SPI: LCM control interface attached to Glamo3362 */
+ 
+-void gta02_jbt6k74_reset(int devidx, int level)
++static void gta02_jbt6k74_reset(int devidx, int level)
+ {
+       glamo_lcm_reset(level);
+ }
+ 
+ /* finally bring up deferred backlight resume now LCM is resumed itself */
+ 
+-void gta02_jbt6k74_resuming(int devidx)
++static void gta02_jbt6k74_resuming(int devidx)
+ {
+       pcf50633_backlight_resume(pcf50633_global);
+ }
+ 
+-const struct jbt6k74_platform_data jbt6k74_pdata = {
++static const struct jbt6k74_platform_data jbt6k74_pdata = {
+       .reset          = gta02_jbt6k74_reset,
+       .resuming       = gta02_jbt6k74_resuming,
+ };
+@@ -1156,7 +1156,7 @@ static struct resource gta02_led_resources[] = {
+       },
+ };
+ 
 -struct platform_device gta02_led_dev = {
 +static struct platform_device gta02_led_dev = {
        .name           = "gta02-led",
@@ -989,93 +1098,44 @@
  tik27                 MACH_TIK27              TIK27                   1360
  mx_uc7420             MACH_MX_UC7420          MX_UC7420               1361
 +neo1973_gta02f                MACH_NEO1973_GTA02F     NEO1973_GTA02F          
1555
-diff --git a/drivers/sdio/function/bluetooth/sdio_bt_os.c 
b/drivers/sdio/function/bluetooth/sdio_bt_os.c
-index 869f718..da9da98 100644
---- a/drivers/sdio/function/bluetooth/sdio_bt_os.c
-+++ b/drivers/sdio/function/bluetooth/sdio_bt_os.c
-@@ -55,6 +55,7 @@
- #define AUTHOR "Atheros Communications, Inc."
+diff --git a/defconfig-2.6.22.5 b/defconfig-2.6.22.5
+index e9e40fe..71196a1 100644
+--- a/defconfig-2.6.22.5
++++ b/defconfig-2.6.22.5
+@@ -180,6 +180,7 @@ CONFIG_S3C2410_PWM=y
+ # CONFIG_MACH_VR1000 is not set
+ CONFIG_MACH_QT2410=y
+ CONFIG_MACH_NEO1973_GTA01=y
++CONFIG_MACH_NEO1973_GTA02F=y
  
- /* debug print parameter */
-+int debuglevel;
- module_param(debuglevel, int, 0644);
- MODULE_PARM_DESC(debuglevel, "debuglevel 0-7, controls debug prints");
+ #
+ # S3C2412 Machines
+diff --git a/defconfig-2.6.24 b/defconfig-2.6.24
+index 0bcf50a..cf13b66 100644
+--- a/defconfig-2.6.24
++++ b/defconfig-2.6.24
+@@ -187,6 +187,7 @@ CONFIG_S3C2410_PWM=y
+ # CONFIG_MACH_VR1000 is not set
+ CONFIG_MACH_QT2410=y
+ CONFIG_MACH_NEO1973_GTA01=y
++CONFIG_MACH_NEO1973_GTA02F=y
  
-@@ -455,7 +456,7 @@ static BOOL Probe(PSDFUNCTION pFunction, PSDDEVICE 
pDevice) {
-             break;
-         }
+ #
+ # S3C2412 Machines
+diff --git a/defconfig-gta02 b/defconfig-gta02
+index 68cf1f4..17cb17b 100644
+--- a/defconfig-gta02
++++ b/defconfig-gta02
+@@ -184,6 +184,7 @@ CONFIG_S3C2410_PWM=y
+ # CONFIG_MACH_VR1000 is not set
+ CONFIG_MACH_QT2410=y
+ CONFIG_MACH_NEO1973_GTA01=y
++CONFIG_MACH_NEO1973_GTA02F=y
  
--        pHciDev->type = HCI_VHCI; /* we don't really have a type assigned 
????*/
-+        pHciDev->type = HCI_SDIO;
-         pHciDev->driver_data = pNewHci;
-         pHciDev->open     = bt_open;
-         pHciDev->close    = bt_close;
-diff --git a/drivers/sdio/function/gps/gps_os.c 
b/drivers/sdio/function/gps/gps_os.c
-index 1de0e54..cdec997 100644
---- a/drivers/sdio/function/gps/gps_os.c
-+++ b/drivers/sdio/function/gps/gps_os.c
-@@ -58,6 +58,7 @@
- 
- 
- /* debug print parameter */
-+int debuglevel;
- module_param(debuglevel, int, 0644);
- MODULE_PARM_DESC(debuglevel, "debuglevel 0-7, controls debug prints");
- int fixedbaud = 1;
-@@ -84,8 +85,8 @@ static void gps_enable_ms(struct uart_port *port);
- static void gps_break_ctl(struct uart_port *port, int break_state);
- static int gps_startup(struct uart_port *port);
- static void gps_shutdown(struct uart_port *port);
--static void gps_set_termios(struct uart_port *port, struct termios *termios,
--                            struct termios *old);
-+static void gps_set_termios(struct uart_port *port, struct ktermios *termios,
-+                            struct ktermios *old);
- static void gps_pm(struct uart_port *port, unsigned int state, unsigned int 
oldstate);
- static const char *gps_type(struct uart_port *port);
- static void gps_release_port(struct uart_port *port);
-@@ -391,8 +392,8 @@ static void gps_shutdown(struct uart_port *port)
- /*
-  * gps_set_termios - set data parameters
- */
--static void gps_set_termios(struct uart_port *port, struct termios *termios,
--                            struct termios *old)
-+static void gps_set_termios(struct uart_port *port, struct ktermios *termios,
-+                            struct ktermios *old)
- {
-     PSDGPS_DEVICE pDevice = CONTAINING_STRUCT(port, SDGPS_DEVICE, Port);
-     unsigned char cval = 0;
-diff --git a/drivers/sdio/function/memory/sdio_memory_os.c 
b/drivers/sdio/function/memory/sdio_memory_os.c
-index 4e3eb53..e086095 100644
---- a/drivers/sdio/function/memory/sdio_memory_os.c
-+++ b/drivers/sdio/function/memory/sdio_memory_os.c
-@@ -63,6 +63,7 @@
- #define AUTHOR "Atheros Communications, Inc."
- 
- /* debug print parameter */
-+int debuglevel;
- module_param(debuglevel, int, 0644);
- MODULE_PARM_DESC(debuglevel, "debuglevel 0-7, controls debug prints");
- 
-@@ -567,7 +568,7 @@ static void DiskRequest(request_queue_t *pQueue)
-          if (!blk_fs_request(pRequest)) {
-             /* not a command we care about */
-             DBG_PRINT(SDDBG_TRACE, ("SDIO Memory Function: DiskRequest - 
unsupported command: flags 0x%X\n",
--                                    (UINT)pRequest->flags));
-+                                    (UINT) 0));
-             end_request(pRequest, 0);
-             continue;
-         }
-@@ -744,7 +745,7 @@ static void DiskRequestDma(request_queue_t *pQueue)
-         if (!blk_fs_request(pRequest)) {
-             /* not a command we care about */
-             DBG_PRINT(SDDBG_TRACE, ("SDIO Memory Function: DiskRequestDma - 
unsupported command: flags 0x%X\n",
--                                    (UINT)pRequest->flags));
-+                                    (UINT) 0));
-             end_request(pRequest, 0);
-                 /* reset */
-             outstandingReq = 1;
+ #
+ # S3C2412 Machines
 diff --git a/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c 
b/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
-index a1b8953..8dc88d2 100644
+index 1292020..33577ac 100644
 --- a/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
 +++ b/drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
 @@ -100,7 +100,7 @@ static void s3c24xx_dump_regs(struct s3c24xx_hcd_context * 
context)
@@ -1087,8 +1147,8 @@
  
        printk("SDICON:    0x%08x\n", con);
        printk("SDIPRE:    0x%08x\n", pre);
-@@ -127,15 +127,15 @@ static inline void s3c24xx_hcd_clear_imask(struct 
s3c24xx_hcd_context * context)
- 
+@@ -124,15 +124,15 @@ static inline void s3c24xx_hcd_clear_imask(struct 
s3c24xx_hcd_context * context)
+ {
        if (context->int_sdio) {
                writel(S3C2410_SDIIMSK_SDIOIRQ | S3C2410_SDIIMSK_READWAIT,
 -                     context->base + S3C2440_SDIIMSK);
@@ -1106,7 +1166,7 @@
  }
  
  
-@@ -456,11 +456,11 @@ static void s3c24xx_hcd_pio_complete(struct 
s3c24xx_hcd_context * context)
+@@ -453,11 +453,11 @@ static void s3c24xx_hcd_pio_complete(struct 
s3c24xx_hcd_context * context)
                        req->DataRemaining -= fifo_count;
                        while (fifo_count > 0) {
                                if (context->data_size == 4)
@@ -1121,7 +1181,7 @@
  
                                ptr += context->data_size;
                                fifo_count -= context->data_size;
-@@ -524,11 +524,11 @@ static void s3c24xx_hcd_pio_complete(struct 
s3c24xx_hcd_context * context)
+@@ -521,11 +521,11 @@ static void s3c24xx_hcd_pio_complete(struct 
s3c24xx_hcd_context * context)
  
                                while (fifo_count > 0) {
                                        if (context->data_size == 4)
@@ -1136,7 +1196,7 @@
  
                                        ptr += context->data_size;
                                        fifo_count -= context->data_size;
-@@ -691,7 +691,7 @@ static int s3c24xx_hcd_prepare_dma(struct 
s3c24xx_hcd_context * context)
+@@ -709,7 +709,7 @@ static int s3c24xx_hcd_prepare_dma(struct 
s3c24xx_hcd_context * context)
        }
  
        s3c2410_dma_devconfig(context->dma_channel, source, hwcfg,
@@ -1145,7 +1205,7 @@
  
        s3c2410_dma_config(context->dma_channel, context->data_size,
                           S3C2410_DCON_CH0_SDI);
-@@ -741,9 +741,9 @@ static irqreturn_t s3c24xx_hcd_irq(int irq, void *dev_id)
+@@ -759,9 +759,9 @@ static irqreturn_t s3c24xx_hcd_irq(int irq, void *dev_id)
  
                        context->int_sdio = 0;
  
@@ -1154,11 +1214,11 @@
                        imask &= ~S3C2410_SDIIMSK_SDIOIRQ;
 -                      writel(imask, context->base + S3C2440_SDIIMSK);
 +                      writel(imask, context->base + S3C2410_SDIIMSK);
-                       SDIO_HandleHcdEvent(&context->hcd, 
EVENT_HCD_SDIO_IRQ_PENDING);
+                       schedule_work(&context->irq_work);
                }
+       }
+@@ -895,20 +895,20 @@ SDIO_STATUS s3c24xx_hcd_config(PSDHCD hcd, PSDCONFIG 
config)
  
-@@ -875,20 +875,20 @@ SDIO_STATUS s3c24xx_hcd_config(PSDHCD hcd, PSDCONFIG 
config)
- 
                if (int_data->SlotIRQEnable &
                    (IRQ_DETECT_1_BIT | IRQ_DETECT_4_BIT | 
IRQ_DETECT_MULTI_BLK) ) {
 -                      imsk = readl(context->base + S3C2440_SDIIMSK);
@@ -1181,8 +1241,8 @@
                        }
                }
                status = SDIO_STATUS_SUCCESS;
-@@ -898,9 +898,9 @@ SDIO_STATUS s3c24xx_hcd_config(PSDHCD hcd, PSDCONFIG 
config)
-               spin_lock_irqsave(&context->lock,flags);
+@@ -917,9 +917,9 @@ SDIO_STATUS s3c24xx_hcd_config(PSDHCD hcd, PSDCONFIG 
config)
+               DBG_PRINT(SDDBG_TRACE, ("config SDIO_REARM_INT\n"));
  
                context->int_sdio = 1;
 -              imsk = readl(context->base + S3C2440_SDIIMSK);
@@ -1191,9 +1251,9 @@
 -              writel(imsk, context->base + S3C2440_SDIIMSK);
 +              writel(imsk, context->base + S3C2410_SDIIMSK);
  
-               spin_unlock_irqrestore(&context->lock,flags);
- 
-@@ -1090,7 +1090,7 @@ SDIO_STATUS s3c24xx_hcd_request(PSDHCD hcd)
+               status = SDIO_STATUS_SUCCESS;
+               break;
+@@ -1110,7 +1110,7 @@ SDIO_STATUS s3c24xx_hcd_request(PSDHCD hcd)
        if (context->int_sdio)
                imask |= S3C2410_SDIIMSK_SDIOIRQ;
        context->int_mask = imask;
@@ -1202,7 +1262,25 @@
        writel(req->Argument, context->base + S3C2410_SDICMDARG);
        writel(cmdcon, context->base + S3C2410_SDICMDCON);
  
-@@ -1376,7 +1376,7 @@ static int s3c24xx_hcd_debugfs_show(struct seq_file *s, 
void *data)
+@@ -1388,7 +1388,7 @@ static int s3c24xx_hcd_suspend(struct platform_device * 
pdev, pm_message_t state
+       context->suspend_regs.datcnt    = readl(context->base + 
S3C2410_SDIDCNT);
+       context->suspend_regs.datsta    = readl(context->base + 
S3C2410_SDIDSTA);
+       context->suspend_regs.fsta      = readl(context->base + 
S3C2410_SDIFSTA);
+-      context->suspend_regs.imask   = readl(context->base + S3C2440_SDIIMSK);
++      context->suspend_regs.imask   = readl(context->base + S3C2410_SDIIMSK);
+ 
+       spin_unlock_irqrestore(&context->lock, flags);
+       return 0;
+@@ -1416,7 +1416,7 @@ static int s3c24xx_hcd_resume(struct platform_device * 
pdev)
+       writel(context->suspend_regs.datcnt, context->base + S3C2410_SDIDCNT);
+       writel(context->suspend_regs.datsta, context->base + S3C2410_SDIDSTA);
+       writel(context->suspend_regs.fsta, context->base + S3C2410_SDIFSTA);
+-      writel(context->suspend_regs.imask, context->base + S3C2440_SDIIMSK);
++      writel(context->suspend_regs.imask, context->base + S3C2410_SDIIMSK);
+ 
+       spin_unlock_irqrestore(&context->lock, flags);
+       return 0;
+@@ -1462,7 +1462,7 @@ static int s3c24xx_hcd_debugfs_show(struct seq_file *s, 
void *data)
        datcnt  = readl(context->base + S3C2410_SDIDCNT);
        datsta  = readl(context->base + S3C2410_SDIDSTA);
        fsta    = readl(context->base + S3C2410_SDIFSTA);




--- End Message ---
_______________________________________________
commitlog mailing list
commitlog@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to