linux-omap-psp 2.6.32: update omap3-touchbook patches
authorKoen Kooi <k-kooi@ti.com>
Thu, 8 Apr 2010 10:01:20 +0000 (12:01 +0200)
committerKoen Kooi <koen@openembedded.org>
Mon, 12 Apr 2010 17:43:32 +0000 (19:43 +0200)
16 files changed:
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0001-ARM-OMAP-add-spi-platform-devices.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0002-MMA7455L-accelerometer-driver.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0003-bq27x00_battery-remove-error-message-output.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0004-bq27x00_battery-add-charged-gpio.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0005-adf7846-add-more-debugging.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0006-ads7846-read-max-mix-x-y-from-pdata.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0007-ads7846-add-settling-delay-to-pdata.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0008-DSS2-OMAPFB-Translate-X-Y-coordinates-for-the-video-.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0009-DSS2-fix-rotation-offsets.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0010-DSS2-Fix-scaling-checks-when-rotation-is-90-or-270-d.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0011-add-touchbook-hid-driver.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0012-Make-backlight-controls-accessible-to-users.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0013-ads7846-don-t-error-out-when-there-s-no-pendown-gpio.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0014-ASoC-add-driver-for-omap3-touchbook.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0015-backlight-add-PWM-support.patch
recipes/linux/linux-omap-psp-2.6.32/omap3-touchbook/0016-ARM-OMAP-omap3-touchbook-update-boardfile.patch

index f1995f5..70d9b00 100644 (file)
@@ -1,4 +1,4 @@
-From 87d5c6d0256618e63e20777dcf3bc57f71249415 Mon Sep 17 00:00:00 2001
+From 512af40b0efa98d9a7a5596fe6b19600d89a58dd Mon Sep 17 00:00:00 2001
 From: Tim Yamin <plasm@roo.me.uk>
 Date: Sat, 11 Apr 2009 13:05:21 -0700
 Subject: [PATCH 01/16] ARM: OMAP: add spi platform devices
index f8e7606..c6cf13c 100644 (file)
@@ -1,4 +1,4 @@
-From 0b1495ce483319984853f09a0d51b97e119df980 Mon Sep 17 00:00:00 2001
+From f02cd8da4f4dc269b83128e2c42ab664e6619ef8 Mon Sep 17 00:00:00 2001
 From: Tim Yamin <plasm@roo.me.uk>
 Date: Tue, 23 Mar 2010 09:52:10 +0100
 Subject: [PATCH 02/16] MMA7455L accelerometer driver
index ad8017f..bd1a50b 100644 (file)
@@ -1,4 +1,4 @@
-From 49e4563c87bce62dc4f69ad692a59e82ca0f8640 Mon Sep 17 00:00:00 2001
+From df5573b7c2ed7b0e31be60bddc6b9bc928e78bfe Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 11:41:17 +0100
 Subject: [PATCH 03/16] bq27x00_battery: remove error message output
index 32b2c35..6f871ce 100644 (file)
@@ -1,4 +1,4 @@
-From e9ae476c0553b5f01a5f38621a4abf68deb24874 Mon Sep 17 00:00:00 2001
+From e1869b08e330d50fd0b57cf0f9ee86eb24d83ec3 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 11:42:45 +0100
 Subject: [PATCH 04/16] bq27x00_battery: add charged gpio
index dd039e5..a9903ea 100644 (file)
@@ -1,4 +1,4 @@
-From 798baf132eac5022ce6c2da7e2d54eb0e65b0193 Mon Sep 17 00:00:00 2001
+From 0b859f934499c20b71b7c40fe356ab1c53bf7ade Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 13:50:38 +0100
 Subject: [PATCH 05/16] adf7846: add more debugging
index b39e9b1..fff70be 100644 (file)
@@ -1,4 +1,4 @@
-From 5b11cfec0cd8f01eba7468a76e764d526ad15bdb Mon Sep 17 00:00:00 2001
+From 8ccf65bc56ba2f71a4420754969b522fd86945a2 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 13:50:45 +0100
 Subject: [PATCH 06/16] ads7846: read max/mix x/y from pdata
index 31a7568..5994529 100644 (file)
@@ -1,4 +1,4 @@
-From cd23f48aad0b24bc2ed8156bc578a2b2d8f2ed9f Mon Sep 17 00:00:00 2001
+From 68e4eb5c9690531fa04cc9e0621854b03369d78b Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 13:50:52 +0100
 Subject: [PATCH 07/16] ads7846: add settling delay to pdata
index e4c4361..db1d7a6 100644 (file)
@@ -1,4 +1,4 @@
-From 7f0896fb74c200f0dd39c8f66cac510f511b60f7 Mon Sep 17 00:00:00 2001
+From b5fbb6c23770e496250e5cbdaad7b7b6120b86af Mon Sep 17 00:00:00 2001
 From: Tim Yamin <plasm@roo.me.uk>
 Date: Mon, 20 Apr 2009 20:29:11 -0700
 Subject: [PATCH 08/16] DSS2: OMAPFB: Translate X/Y coordinates for the video planes when rotating.
index 3a2f3b2..89d5285 100644 (file)
@@ -1,4 +1,4 @@
-From a592b342f23d503feebd3c895b1b6d176e132cdb Mon Sep 17 00:00:00 2001
+From 15ef52dc7a6d92e50ed9437ca6ca4bdcbd62faa6 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Wed, 31 Mar 2010 11:32:23 +0200
 Subject: [PATCH 09/16] DSS2: fix rotation offsets
index 3a59b59..58d084e 100644 (file)
@@ -1,4 +1,4 @@
-From 23ddd0dafbf79d7919aa90479dc038e1d9e7c905 Mon Sep 17 00:00:00 2001
+From 7986ce08b1f7ed40c815620853fe76ce3deeb7c5 Mon Sep 17 00:00:00 2001
 From: Tim Yamin <plasm@roo.me.uk>
 Date: Fri, 12 Mar 2010 13:57:38 +0100
 Subject: [PATCH 10/16] DSS2: Fix scaling checks when rotation is 90 or 270 degrees.
index 66aa43c..7dca1dd 100644 (file)
@@ -1,4 +1,4 @@
-From 1ced7194276074ebc9a009c9b41df27d5fdb5df9 Mon Sep 17 00:00:00 2001
+From 935a7f21581403bd791729ae1cc1b49b10561fa6 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 14:39:07 +0100
 Subject: [PATCH 11/16] add touchbook hid driver
index 970a97b..5f3e233 100644 (file)
@@ -1,4 +1,4 @@
-From 06e169d76148f90f500e76e646a0e595ba0048a9 Mon Sep 17 00:00:00 2001
+From 94ea406045ee596951204736fd5bdf454c574343 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregroire@gentil.com>
 Date: Fri, 12 Mar 2010 14:41:05 +0100
 Subject: [PATCH 12/16] Make backlight controls accessible to users
index a2fa7d9..b6da0dc 100644 (file)
@@ -1,4 +1,4 @@
-From e5ae09d0d2c8f2bd1da7662dd551b103292a5748 Mon Sep 17 00:00:00 2001
+From 55eb032a9f3d9c2a46a0e4621e6704a00ba2ab46 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 15:04:58 +0100
 Subject: [PATCH 13/16] ads7846: don't error out when there's no pendown gpio
index 3581fa7..4e39423 100644 (file)
@@ -1,4 +1,4 @@
-From b8c9d2b0cec0f8e6a25749f1ab50f59ad7480e8d Mon Sep 17 00:00:00 2001
+From 0abfaf3d50f7df7b7dd9462d1822e856bf306bf5 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Wed, 31 Mar 2010 11:14:04 +0200
 Subject: [PATCH 14/16] ASoC: add driver for omap3-touchbook
@@ -6,8 +6,8 @@ Subject: [PATCH 14/16] ASoC: add driver for omap3-touchbook
 ---
  sound/soc/omap/Kconfig          |    8 +
  sound/soc/omap/Makefile         |    2 +
- sound/soc/omap/omap3touchbook.c |  285 +++++++++++++++++++++++++++++++++++++++
- 3 files changed, 295 insertions(+), 0 deletions(-)
+ sound/soc/omap/omap3touchbook.c |  281 +++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 291 insertions(+), 0 deletions(-)
  create mode 100644 sound/soc/omap/omap3touchbook.c
 
 diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig
@@ -50,10 +50,10 @@ index 19283e5..e3f172f 100644
  obj-$(CONFIG_SND_OMAP_SOC_IGEP0020) += snd-soc-igep0020.o
 diff --git a/sound/soc/omap/omap3touchbook.c b/sound/soc/omap/omap3touchbook.c
 new file mode 100644
-index 0000000..4e81f3e
+index 0000000..27924e0
 --- /dev/null
 +++ b/sound/soc/omap/omap3touchbook.c
-@@ -0,0 +1,285 @@
+@@ -0,0 +1,281 @@
 +/*
 + * omap3touchbook.c  --  SoC audio for Touch Book
 + *
@@ -160,12 +160,9 @@ index 0000000..4e81f3e
 +/* Headset jack detection DAPM pins */
 +static struct snd_soc_jack_pin hs_jack_pins[] = {
 +      {
-+              .pin = "Headset Mic",
-+              .mask = SND_JACK_MICROPHONE,
-+      },
-+      {
-+              .pin = "Headset Stereophone",
++              .pin = "External Speakers",
 +              .mask = SND_JACK_HEADPHONE,
++              .invert = 1,
 +      },
 +};
 +
@@ -181,30 +178,27 @@ index 0000000..4e81f3e
 +
 +/* omap3touchbook machine DAPM */
 +static const struct snd_soc_dapm_widget omap3touchbook_twl4030_dapm_widgets[] = {
-+      SND_SOC_DAPM_MIC("Ext Mic", NULL),
-+      SND_SOC_DAPM_SPK("Ext Spk", NULL),
-+      SND_SOC_DAPM_MIC("Headset Mic", NULL),
-+      SND_SOC_DAPM_HP("Headset Stereophone", NULL),
++      SND_SOC_DAPM_SPK("External Speakers", NULL),
++      SND_SOC_DAPM_HP("Headset Stereo", NULL),
++      SND_SOC_DAPM_MIC("Headset Micro", NULL),
++      SND_SOC_DAPM_LINE("Line In", NULL),
 +};
 +
 +static const struct snd_soc_dapm_route audio_map[] = {
-+      /* External Mics: MAINMIC, SUBMIC with bias*/
-+      {"MAINMIC", NULL, "Mic Bias 1"},
-+      {"SUBMIC", NULL, "Mic Bias 2"},
-+      {"Mic Bias 1", NULL, "Ext Mic"},
-+      {"Mic Bias 2", NULL, "Ext Mic"},
-+
 +      /* External Speakers: HFL, HFR */
-+      {"Ext Spk", NULL, "HFL"},
-+      {"Ext Spk", NULL, "HFR"},
++      {"External Speakers", NULL, "HFL"},
++      {"External Speakers", NULL, "HFR"},
++
++      /* Headset Stereo: HSOL, HSOR */
++      {"Headset Stereo", NULL, "HSOL"},
++      {"Headset Stereo", NULL, "HSOR"},
 +
-+      /* Headset Mic: HSMIC with bias */
-+      {"HSMIC", NULL, "Headset Mic Bias"},
-+      {"Headset Mic Bias", NULL, "Headset Mic"},
++      /* Headset Micro: MAINMICL */
++      {"Headset Micro", NULL, "MAINMIC"},
 +
-+      /* Headset Stereophone (Headphone): HSOL, HSOR */
-+      {"Headset Stereophone", NULL, "HSOL"},
-+      {"Headset Stereophone", NULL, "HSOR"},
++      /* Line In: AUXL, AUXR */
++      {"Line In", NULL, "AUXL"},
++      {"Line In", NULL, "AUXR"},
 +};
 +
 +static int omap3touchbook_twl4030_init(struct snd_soc_codec *codec)
@@ -221,13 +215,14 @@ index 0000000..4e81f3e
 +      snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 +
 +      /* omap3touchbook connected pins */
-+      snd_soc_dapm_enable_pin(codec, "Ext Mic");
-+      snd_soc_dapm_enable_pin(codec, "Ext Spk");
-+      snd_soc_dapm_disable_pin(codec, "Headset Mic");
-+      snd_soc_dapm_disable_pin(codec, "Headset Stereophone");
++      snd_soc_dapm_enable_pin(codec, "External Speakers");
++      snd_soc_dapm_enable_pin(codec, "Headset Stereo");
++      snd_soc_dapm_enable_pin(codec, "Headset Micro");
++      snd_soc_dapm_enable_pin(codec, "Line In");
 +
 +      /* TWL4030 not connected pins */
 +      snd_soc_dapm_nc_pin(codec, "CARKITMIC");
++      snd_soc_dapm_nc_pin(codec, "SUBMIC");
 +      snd_soc_dapm_nc_pin(codec, "DIGIMIC0");
 +      snd_soc_dapm_nc_pin(codec, "DIGIMIC1");
 +      snd_soc_dapm_nc_pin(codec, "OUTL");
@@ -237,6 +232,7 @@ index 0000000..4e81f3e
 +      snd_soc_dapm_nc_pin(codec, "PREDRIVER");
 +      snd_soc_dapm_nc_pin(codec, "CARKITL");
 +      snd_soc_dapm_nc_pin(codec, "CARKITR");
++      snd_soc_dapm_nc_pin(codec, "VIBRA");
 +
 +      ret = snd_soc_dapm_sync(codec);
 +      if (ret)
index b39e9c3..373ab7a 100644 (file)
@@ -1,4 +1,4 @@
-From 3fee6c0a358921e87c9c3807148bc306641592bb Mon Sep 17 00:00:00 2001
+From d24e10c10e57875a65451f46025623f0f77cefbe Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Wed, 31 Mar 2010 11:14:04 +0200
 Subject: [PATCH 15/16] backlight: add PWM support
index db8cf7c..5c1fa3f 100644 (file)
@@ -1,16 +1,25 @@
-From bd54c9c7527199156f6cd16bf3e02ebf9d663feb Mon Sep 17 00:00:00 2001
+From d0e8e774fdc82320822246fae3167302730bd7e8 Mon Sep 17 00:00:00 2001
 From: Gregoire Gentil <gregoire@gentil.com>
 Date: Fri, 12 Mar 2010 11:49:16 +0100
 Subject: [PATCH 16/16] ARM: OMAP: omap3-touchbook: update boardfile
 
 ---
- arch/arm/mach-omap2/board-omap3touchbook.c |  394 +++++++++++++++++++++-------
- 1 files changed, 305 insertions(+), 89 deletions(-)
+ arch/arm/mach-omap2/board-omap3touchbook.c |  408 +++++++++++++++++++++-------
+ 1 files changed, 313 insertions(+), 95 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index fc3e03c..3628362 100644
+index fc3e03c..ec7830e 100644
 --- a/arch/arm/mach-omap2/board-omap3touchbook.c
 +++ b/arch/arm/mach-omap2/board-omap3touchbook.c
+@@ -1,7 +1,7 @@
+ /*
+  * linux/arch/arm/mach-omap2/board-omap3touchbook.c
+  *
+- * Copyright (C) 2009 Always Innovating
++ * Copyright (C) 2009-2010 Always Innovating
+  *
+  * Modified from mach-omap2/board-omap3beagleboard.c
+  *
 @@ -33,6 +33,7 @@
  #include <linux/spi/spi.h>
  
@@ -27,7 +36,7 @@ index fc3e03c..3628362 100644
  #include <plat/gpmc.h>
  #include <plat/nand.h>
  #include <plat/usb.h>
-@@ -60,6 +62,8 @@
+@@ -60,18 +62,22 @@
  
  #include <asm/setup.h>
  
@@ -36,11 +45,13 @@ index fc3e03c..3628362 100644
  
  #define GPMC_CS0_BASE  0x60
  #define GPMC_CS_SIZE   0x30
-@@ -68,10 +72,11 @@
  
+ #define NAND_BLOCK_SIZE               SZ_128K
++#define OMAP3_HJ_GPIO         56
  #define OMAP3_AC_GPIO         136
++#define OMAP3_TS2_GPIO                154
  #define OMAP3_TS_GPIO         162
-+#define OMAP3_CHACHA_GPIO     154
  #define TB_BL_PWM_TIMER               9
  #define TB_KILL_POWER_GPIO    168
  
@@ -49,7 +60,7 @@ index fc3e03c..3628362 100644
  
  static struct mtd_partition omap3touchbook_nand_partitions[] = {
        /* All the partition sizes are listed in terms of NAND block size */
-@@ -126,6 +131,103 @@ static struct platform_device omap3touchbook_nand_device = {
+@@ -126,6 +132,103 @@ static struct platform_device omap3touchbook_nand_device = {
        .resource       = &omap3touchbook_nand_resource,
  };
  
@@ -153,7 +164,7 @@ index fc3e03c..3628362 100644
  #include "sdram-micron-mt46h32m32lf-6.h"
  
  static struct twl4030_hsmmc_info mmc[] = {
-@@ -137,15 +239,6 @@ static struct twl4030_hsmmc_info mmc[] = {
+@@ -137,15 +240,6 @@ static struct twl4030_hsmmc_info mmc[] = {
        {}      /* Terminator */
  };
  
@@ -169,7 +180,7 @@ index fc3e03c..3628362 100644
  static struct regulator_consumer_supply touchbook_vmmc1_supply = {
        .supply                 = "vmmc",
  };
-@@ -177,6 +270,7 @@ static int touchbook_twl_gpio_setup(struct device *dev,
+@@ -177,6 +271,7 @@ static int touchbook_twl_gpio_setup(struct device *dev,
         * power switch and overcurrent detect
         */
  
@@ -177,7 +188,7 @@ index fc3e03c..3628362 100644
        gpio_request(gpio + 1, "EHCI_nOC");
        gpio_direction_input(gpio + 1);
  
-@@ -187,6 +281,7 @@ static int touchbook_twl_gpio_setup(struct device *dev,
+@@ -187,6 +282,7 @@ static int touchbook_twl_gpio_setup(struct device *dev,
        /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
        gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
  
@@ -185,7 +196,7 @@ index fc3e03c..3628362 100644
        return 0;
  }
  
-@@ -201,16 +296,6 @@ static struct twl4030_gpio_platform_data touchbook_gpio_data = {
+@@ -201,16 +297,6 @@ static struct twl4030_gpio_platform_data touchbook_gpio_data = {
        .setup          = touchbook_twl_gpio_setup,
  };
  
@@ -202,7 +213,7 @@ index fc3e03c..3628362 100644
  /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
  static struct regulator_init_data touchbook_vmmc1 = {
        .constraints = {
-@@ -283,6 +368,10 @@ static struct twl4030_codec_data touchbook_codec_data = {
+@@ -283,6 +369,10 @@ static struct twl4030_codec_data touchbook_codec_data = {
        .audio = &touchbook_audio_data,
  };
  
@@ -213,7 +224,7 @@ index fc3e03c..3628362 100644
  static struct twl4030_platform_data touchbook_twldata = {
        .irq_base       = TWL4030_IRQ_BASE,
        .irq_end        = TWL4030_IRQ_END,
-@@ -291,6 +380,7 @@ static struct twl4030_platform_data touchbook_twldata = {
+@@ -291,6 +381,7 @@ static struct twl4030_platform_data touchbook_twldata = {
        .usb            = &touchbook_usb_data,
        .gpio           = &touchbook_gpio_data,
        .codec          = &touchbook_codec_data,
@@ -221,13 +232,13 @@ index fc3e03c..3628362 100644
        .vmmc1          = &touchbook_vmmc1,
        .vsim           = &touchbook_vsim,
        .vdac           = &touchbook_vdac,
-@@ -310,10 +400,18 @@ static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = {
+@@ -310,10 +401,18 @@ static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = {
        {
                I2C_BOARD_INFO("bq27200", 0x55),
        },
 +      {
 +              I2C_BOARD_INFO("chacha", 0x40),
-+              .irq = OMAP_GPIO_IRQ(OMAP3_CHACHA_GPIO),
++              .irq = OMAP_GPIO_IRQ(OMAP3_TS2_GPIO),
 +      },
 +      {
 +              I2C_BOARD_INFO("ds1307", 0x68),
@@ -240,7 +251,7 @@ index fc3e03c..3628362 100644
        /* Standard TouchBook bus */
        omap_register_i2c_bus(1, 2600, touchbook_i2c_boardinfo,
                        ARRAY_SIZE(touchbook_i2c_boardinfo));
-@@ -322,53 +420,16 @@ static int __init omap3_touchbook_i2c_init(void)
+@@ -322,53 +421,16 @@ static int __init omap3_touchbook_i2c_init(void)
        omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo,
                        ARRAY_SIZE(touchBook_i2c_boardinfo));
  
@@ -253,12 +264,12 @@ index fc3e03c..3628362 100644
 -              printk(KERN_ERR "Failed to request GPIO %d for "
 -                              "ads7846 pen down IRQ\n", OMAP3_TS_GPIO);
 -              return;
-+      ret = gpio_request(OMAP3_CHACHA_GPIO, "chacha");
++      ret = gpio_request(OMAP3_TS2_GPIO, "chacha");
 +      if (ret < 0) {
-+              printk(KERN_ERR "Failed to request GPIO %d for chacha IRQ\n", OMAP3_CHACHA_GPIO);
++              printk(KERN_ERR "Failed to request GPIO %d for chacha IRQ\n", OMAP3_TS2_GPIO);
 +              return 0;
        }
-+      gpio_direction_input(OMAP3_CHACHA_GPIO);
++      gpio_direction_input(OMAP3_TS2_GPIO);
  
 -      gpio_direction_input(OMAP3_TS_GPIO);
 -      omap_set_gpio_debounce(OMAP3_TS_GPIO, 1);
@@ -300,7 +311,7 @@ index fc3e03c..3628362 100644
  static struct gpio_led gpio_leds[] = {
        {
                .name                   = "touchbook::usr0",
-@@ -412,6 +473,7 @@ static struct gpio_keys_button gpio_buttons[] = {
+@@ -412,6 +474,7 @@ static struct gpio_keys_button gpio_buttons[] = {
                .gpio                   = 183,
                .desc                   = "power",
                .wakeup                 = 1,
@@ -308,7 +319,7 @@ index fc3e03c..3628362 100644
        },
  };
  
-@@ -428,23 +490,8 @@ static struct platform_device keys_gpio = {
+@@ -428,23 +491,8 @@ static struct platform_device keys_gpio = {
        },
  };
  
@@ -332,7 +343,7 @@ index fc3e03c..3628362 100644
        omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
                             mt46h32m32lf6_sdrc_params, omap35x_mpu_rate_table,
                             omap35x_dsp_rate_table, omap35x_l3_rate_table);
-@@ -456,9 +503,9 @@ static void __init omap3_touchbook_init_irq(void)
+@@ -456,9 +504,9 @@ static void __init omap3_touchbook_init_irq(void)
  }
  
  static struct platform_device *omap3_touchbook_devices[] __initdata = {
@@ -343,7 +354,16 @@ index fc3e03c..3628362 100644
  };
  
  static void __init omap3touchbook_flash_init(void)
-@@ -512,6 +559,170 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
+@@ -500,7 +548,7 @@ static void __init omap3touchbook_flash_init(void)
+       }
+ }
+-static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
++static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
+       .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+       .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
+@@ -512,6 +560,170 @@ static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
        .reset_gpio_port[2]  = -EINVAL
  };
  
@@ -456,7 +476,7 @@ index fc3e03c..3628362 100644
 +
 +      /* Halve input brightness */
 +      if (!bd->props.boost)
-+                      value /= 2;
++              value /= 2;
 +
 +      /* For maximum brightness, just stop the timer... */
 +      if(value != bd->props.max_brightness)
@@ -514,21 +534,24 @@ index fc3e03c..3628362 100644
  static void omap3_touchbook_poweroff(void)
  {
        int r;
-@@ -525,33 +736,27 @@ static void omap3_touchbook_poweroff(void)
+@@ -525,33 +737,26 @@ static void omap3_touchbook_poweroff(void)
        gpio_direction_output(TB_KILL_POWER_GPIO, 0);
  }
  
 -static void __init early_touchbook_revision(char **p)
-+static void __init early_ai_revision(char **p)
++static int __init ai_revision_instance(char *str)
  {
-       if (!*p)
-               return;
+-      if (!*p)
+-              return;
++      if (!str)
++              return -EINVAL;
++
++      ai_revision = simple_strtoul(str, NULL, 10);
  
 -      strict_strtoul(*p, 10, &touchbook_revision);
-+      strict_strtoul(*p, 10, &ai_revision);
++      return 0;
  }
 -__early_param("tbr=", early_touchbook_revision);
-+__early_param("air=", early_ai_revision);
  
  static void __init omap3_touchbook_init(void)
  {
@@ -541,10 +564,10 @@ index fc3e03c..3628362 100644
        omap_serial_init();
  
 -      omap_mux_init_gpio(170, OMAP_PIN_INPUT);
-       gpio_request(176, "DVI_nPD");
+-      gpio_request(176, "DVI_nPD");
 -      /* REVISIT leave DVI powered down until it's needed ... */
 -      gpio_direction_output(176, true);
+-
 -      /* Touchscreen and accelerometer */
 -      spi_register_board_info(omap3_ads7846_spi_board_info,
 -                              ARRAY_SIZE(omap3_ads7846_spi_board_info));
@@ -570,6 +593,15 @@ index fc3e03c..3628362 100644
  }
  
  static void __init omap3_touchbook_map_io(void)
+@@ -567,6 +783,8 @@ static void __init omap3_touchbook_map_io(void)
+       omap2_map_common_io();
+ }
++early_param("air", ai_revision_instance);
++
+ MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
+       /* Maintainer: Gregoire Gentil - http://www.alwaysinnovating.com */
+       .phys_io        = 0x48000000,
 -- 
 1.6.6.1