summaryrefslogtreecommitdiff
path: root/recipes/linux
diff options
context:
space:
mode:
authorMarco Cavallini <m.cavallini@koansoftware.com>2010-07-24 09:30:34 +0200
committerMarco Cavallini <m.cavallini@koansoftware.com>2010-07-24 09:30:34 +0200
commit5b4a88983b3545f8f894fcbaa420b884f4e13631 (patch)
treed3e05a16826624d7ca98ab5ff3e21b4b1777f9b7 /recipes/linux
parentede6af5e1d519f74fc101e9cc9ab76b446d6f19b (diff)
parentd4f0fb310f7d40f7a50f50fb12083fa258aa1eed (diff)
Merge branch 'org.openembedded.dev' of git://git.openembedded.org/openembedded into org.openembedded.dev
Diffstat (limited to 'recipes/linux')
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/0001-add-noinline-and-noclone-attributes-to-naked-functio.patch52
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/0006-gta02-defconfigs-enable-LEDS_S3C24XX-and-dummy-batte.patch66
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/0016-jbt6k74-fix-WS.patch64
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/0017-s3c2410_ts-ignore-unexpected-interrupts.patch (renamed from recipes/linux/linux-openmoko-2.6.32/touchscreen_ignoreunexpectedintr29.patch)30
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/0018-glamo-core-initialize-engine-states-as-disabled.patch36
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/0019-wm8753-use-snd_soc_jack-on-neo1973.patch (renamed from recipes/linux/linux-openmoko-2.6.32/hs-jack.patch)12
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/0020-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch (renamed from recipes/linux/linux-openmoko-2.6.32/0001-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch)4
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/om-gta02/defconfig114
-rw-r--r--recipes/linux/linux-openmoko-2.6.32/use-noclone-attribute-for-naked.patch144
-rw-r--r--recipes/linux/linux-openmoko-2.6.32_git.bb21
-rw-r--r--recipes/linux/linux/spitz/defconfig8
-rw-r--r--recipes/linux/linux_git.bb4
12 files changed, 263 insertions, 292 deletions
diff --git a/recipes/linux/linux-openmoko-2.6.32/0001-add-noinline-and-noclone-attributes-to-naked-functio.patch b/recipes/linux/linux-openmoko-2.6.32/0001-add-noinline-and-noclone-attributes-to-naked-functio.patch
new file mode 100644
index 0000000000..ac1efaec25
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.32/0001-add-noinline-and-noclone-attributes-to-naked-functio.patch
@@ -0,0 +1,52 @@
+From 6d97e1b1c2434fb769be7a72813efd11925225a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Jun 2010 03:28:43 +0200
+Subject: [PATCH 03/22] add noinline and noclone attributes to naked functions
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ include/linux/compiler-gcc.h | 11 ++++++++++-
+ include/linux/compiler-gcc4.h | 2 ++
+ 2 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
+index a3ed7cb..132a651 100644
+--- a/include/linux/compiler-gcc.h
++++ b/include/linux/compiler-gcc.h
+@@ -58,8 +58,12 @@
+ * naked functions because then mcount is called without stack and frame pointer
+ * being set up and there is no chance to restore the lr register to the value
+ * before mcount was called.
++ *
++ * The asm() bodies of naked functions often depend on standard calling conventions,
++ * therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce
++ * this, so we must do so ourselves. See GCC PR44290.
+ */
+-#define __naked __attribute__((naked)) notrace
++#define __naked __attribute__((naked)) noinline __noclone notrace
+
+ #define __noreturn __attribute__((noreturn))
+
+@@ -84,3 +88,8 @@
+ #define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
+ #define gcc_header(x) _gcc_header(x)
+ #include gcc_header(__GNUC__)
++
++#if !defined(__noclone)
++#define __noclone /* not needed */
++#endif
++
+diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
+index 450fa59..cd5932a 100644
+--- a/include/linux/compiler-gcc4.h
++++ b/include/linux/compiler-gcc4.h
+@@ -36,4 +36,6 @@
+ the kernel context */
+ #define __cold __attribute__((__cold__))
+
++/* Mark a function definition as prohibited from being cloned. */
++#define __noclone __attribute__((__noclone__))
+ #endif
+--
+1.7.1.1
+
diff --git a/recipes/linux/linux-openmoko-2.6.32/0006-gta02-defconfigs-enable-LEDS_S3C24XX-and-dummy-batte.patch b/recipes/linux/linux-openmoko-2.6.32/0006-gta02-defconfigs-enable-LEDS_S3C24XX-and-dummy-batte.patch
deleted file mode 100644
index 103c06c886..0000000000
--- a/recipes/linux/linux-openmoko-2.6.32/0006-gta02-defconfigs-enable-LEDS_S3C24XX-and-dummy-batte.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 7e4a1fee4f08ef7ccedd4706b4890afc71f37dc4 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 17 May 2010 12:41:06 +0200
-Subject: [PATCH 06/14] gta02 defconfigs, enable LEDS_S3C24XX and dummy battery driver
-
----
- arch/arm/configs/gta02_defconfig | 2 +-
- arch/arm/configs/gta02_drm_defconfig | 10 +++++-----
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/arch/arm/configs/gta02_defconfig b/arch/arm/configs/gta02_defconfig
-index 73d26ba..55832ac 100644
---- a/arch/arm/configs/gta02_defconfig
-+++ b/arch/arm/configs/gta02_defconfig
-@@ -1635,7 +1635,7 @@ CONFIG_LEDS_CLASS=y
- #
- # LED drivers
- #
--# CONFIG_LEDS_S3C24XX is not set
-+CONFIG_LEDS_S3C24XX=y
- # CONFIG_LEDS_PCA9532 is not set
- CONFIG_LEDS_GPIO=y
- CONFIG_LEDS_GPIO_PLATFORM=y
-diff --git a/arch/arm/configs/gta02_drm_defconfig b/arch/arm/configs/gta02_drm_defconfig
-index 05aa130..62c1ee4 100644
---- a/arch/arm/configs/gta02_drm_defconfig
-+++ b/arch/arm/configs/gta02_drm_defconfig
-@@ -1,7 +1,7 @@
- #
- # Automatically generated make config: don't edit
--# Linux kernel version: 2.6.32.11
--# Sun Apr 11 14:20:07 2010
-+# Linux kernel version: 2.6.32.13
-+# Mon May 17 14:13:35 2010
- #
- CONFIG_ARM=y
- CONFIG_HAVE_PWM=y
-@@ -1233,7 +1233,7 @@ CONFIG_POWER_SUPPLY=y
- CONFIG_CHARGER_PCF50633=y
- CONFIG_BATTERY_BQ27000_HDQ=y
- CONFIG_HDQ_GPIO_BITBANG=y
--# CONFIG_BATTERY_PLATFORM is not set
-+CONFIG_BATTERY_PLATFORM=y
- # CONFIG_HWMON is not set
- # CONFIG_THERMAL is not set
- CONFIG_WATCHDOG=y
-@@ -1681,14 +1681,14 @@ CONFIG_LEDS_CLASS=y
- #
- # LED drivers
- #
--# CONFIG_LEDS_S3C24XX is not set
-+CONFIG_LEDS_S3C24XX=y
- # CONFIG_LEDS_PCA9532 is not set
- CONFIG_LEDS_GPIO=y
- CONFIG_LEDS_GPIO_PLATFORM=y
- # CONFIG_LEDS_LP3944 is not set
- # CONFIG_LEDS_PCA955X is not set
- # CONFIG_LEDS_DAC124S085 is not set
--# CONFIG_LEDS_PWM is not set
-+CONFIG_LEDS_PWM=y
- # CONFIG_LEDS_BD2802 is not set
-
- #
---
-1.7.1
-
diff --git a/recipes/linux/linux-openmoko-2.6.32/0016-jbt6k74-fix-WS.patch b/recipes/linux/linux-openmoko-2.6.32/0016-jbt6k74-fix-WS.patch
new file mode 100644
index 0000000000..e96a87d290
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.32/0016-jbt6k74-fix-WS.patch
@@ -0,0 +1,64 @@
+From 99ce90618a47cdc8c373838b7ee04348cc21d303 Mon Sep 17 00:00:00 2001
+From: Thibaut Girka <thib@sitedethib.com>
+Date: Wed, 21 Jul 2010 09:40:29 +0200
+Subject: [PATCH 16/23] jbt6k74: fix WS
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ drivers/video/backlight/jbt6k74.c | 15 +++++++++++----
+ 1 files changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/video/backlight/jbt6k74.c b/drivers/video/backlight/jbt6k74.c
+index 56a3e3a..4db021f 100644
+--- a/drivers/video/backlight/jbt6k74.c
++++ b/drivers/video/backlight/jbt6k74.c
+@@ -268,8 +268,7 @@ static int jbt_off_to_normal(struct jbt_info *jbt)
+
+ gpio_set_value_cansleep(pdata->gpio_reset, 1);
+ ret = regulator_bulk_enable(ARRAY_SIZE(jbt->supplies), jbt->supplies);
+-
+- mdelay(120);
++ mdelay(200);
+
+ /* three times command zero */
+ ret |= jbt_reg_write_nodata(jbt, 0x00);
+@@ -282,10 +281,16 @@ static int jbt_off_to_normal(struct jbt_info *jbt)
+ /* deep standby out */
+ ret |= jbt_reg_write(jbt, JBT_REG_POWER_ON_OFF, 0x11);
+ mdelay(1);
++ if (ret != 0)
++ printk (KERN_ERR "Ignored ret value:%i",ret);
++
+ ret |= jbt_reg_write(jbt, JBT_REG_DISPLAY_MODE, 0x28);
+
+ /* (re)initialize register set */
+ ret |= jbt_init_regs(jbt);
++ if (ret != 0)
++ printk (KERN_ERR "Ignored ret value2:%i",ret);
++
+
+ /* Make sure we are 120 ms after SLEEP_OUT */
+ if (time_before(jiffies, jbt->next_sleep))
+@@ -644,7 +649,7 @@ static int jbt6k74_set_power(struct lcd_device *ld, int power)
+ struct jbt_info *jbt = dev_get_drvdata(&ld->dev);
+
+ jbt->blank_mode = power;
+- cancel_rearming_delayed_work(&jbt->blank_work);
++ //cancel_rearming_delayed_work(&jbt->blank_work);
+
+ switch (power) {
+ case FB_BLANK_UNBLANK:
+@@ -658,7 +663,9 @@ static int jbt6k74_set_power(struct lcd_device *ld, int power)
+ break;
+ case FB_BLANK_POWERDOWN:
+ dev_dbg(&jbt->spi->dev, "powerdown\n");
+- ret = jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_OFF);
++ //ret = schedule_delayed_work(&jbt->blank_work, HZ);
++ jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_OFF);
++ ret = 1;
+ break;
+ default:
+ break;
+--
+1.7.1.1
+
diff --git a/recipes/linux/linux-openmoko-2.6.32/touchscreen_ignoreunexpectedintr29.patch b/recipes/linux/linux-openmoko-2.6.32/0017-s3c2410_ts-ignore-unexpected-interrupts.patch
index cb99dd889d..0da1261d39 100644
--- a/recipes/linux/linux-openmoko-2.6.32/touchscreen_ignoreunexpectedintr29.patch
+++ b/recipes/linux/linux-openmoko-2.6.32/0017-s3c2410_ts-ignore-unexpected-interrupts.patch
@@ -1,5 +1,14 @@
+From fd25a512062b198af666bbdab805e8d6b51ed166 Mon Sep 17 00:00:00 2001
+From: Gennady Kupava <gb@bsdmn.com>
+Date: Sun, 27 Jun 2010 10:01:54 +0200
+Subject: [PATCH 17/22] s3c2410_ts: ignore unexpected interrupts
+
+---
+ drivers/input/touchscreen/s3c2410_ts.c | 30 +++++++++++++++++++++++++++++-
+ 1 files changed, 29 insertions(+), 1 deletions(-)
+
diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c
-index bcfdd00..73994ff 100644
+index 97def9d..fd0b7d4 100644
--- a/drivers/input/touchscreen/s3c2410_ts.c
+++ b/drivers/input/touchscreen/s3c2410_ts.c
@@ -47,6 +47,9 @@
@@ -12,7 +21,7 @@ index bcfdd00..73994ff 100644
*/
#include <linux/errno.h>
-@@ -118,10 +121,15 @@ struct s3c2410ts {
+@@ -120,10 +123,15 @@ struct s3c2410ts {
struct kfifo *event_fifo;
struct s3c_adc_client *adc_client;
unsigned adc_selected;
@@ -28,7 +37,7 @@ index bcfdd00..73994ff 100644
static void __iomem *base_addr;
/*
-@@ -280,6 +288,19 @@ static irqreturn_t stylus_updown(int irq, void *dev_id)
+@@ -282,6 +290,19 @@ static irqreturn_t stylus_updown(int irq, void *dev_id)
ts.is_down = !(data0 & S3C2410_ADCDAT0_UPDOWN) &&
!(data1 & S3C2410_ADCDAT0_UPDOWN);
@@ -48,7 +57,7 @@ index bcfdd00..73994ff 100644
event_type = ts.is_down ? 'D' : 'U';
if (unlikely(__kfifo_put(ts.event_fifo, (unsigned char *)&event_type,
-@@ -289,8 +310,10 @@ static irqreturn_t stylus_updown(int irq, void *dev_id)
+@@ -291,8 +312,10 @@ static irqreturn_t stylus_updown(int irq, void *dev_id)
if (ts.is_down)
s3c2410_ts_start_adc_conversion();
@@ -60,7 +69,7 @@ index bcfdd00..73994ff 100644
mod_timer(&event_send_timer, jiffies + 1);
-@@ -325,6 +348,7 @@ static void stylus_adc_action(unsigned p0, unsigned p1, unsigned *conv_left)
+@@ -327,6 +350,7 @@ static void stylus_adc_action(struct s3c_adc_client *client, unsigned p0, unsign
case -1:
/* Too much noise. Ignore the event. */
ts_filter_chain_clear(ts.chain);
@@ -68,7 +77,7 @@ index bcfdd00..73994ff 100644
writel(WAIT4INT(1), base_addr + S3C2410_ADCTSC);
return;
};
-@@ -334,6 +358,7 @@ static void stylus_adc_action(unsigned p0, unsigned p1, unsigned *conv_left)
+@@ -336,6 +360,7 @@ static void stylus_adc_action(struct s3c_adc_client *client, unsigned p0, unsign
/* This will only happen if we have a bug. */
TSPRINTK("FIFO full\n");
@@ -76,7 +85,7 @@ index bcfdd00..73994ff 100644
writel(WAIT4INT(1), base_addr + S3C2410_ADCTSC);
mod_timer(&event_send_timer, jiffies + 1);
-@@ -371,6 +396,7 @@ static int __init s3c2410ts_probe(struct platform_device *pdev)
+@@ -373,6 +398,7 @@ static int __init s3c2410ts_probe(struct platform_device *pdev)
if (!strcmp(pdev->name, "s3c2410-ts"))
s3c2410_ts_connect();
@@ -84,7 +93,7 @@ index bcfdd00..73994ff 100644
writel(WAIT4INT(0), base_addr + S3C2410_ADCTSC);
/* Initialise input stuff */
-@@ -481,6 +507,7 @@ static int s3c2410ts_remove(struct platform_device *pdev)
+@@ -482,6 +508,7 @@ static int s3c2410ts_remove(struct platform_device *pdev)
static int s3c2410ts_suspend(struct platform_device *pdev, pm_message_t state)
{
@@ -92,7 +101,7 @@ index bcfdd00..73994ff 100644
writel(TSC_SLEEP, base_addr + S3C2410_ADCTSC);
writel(readl(base_addr + S3C2410_ADCCON) | S3C2410_ADCCON_STDBM,
base_addr + S3C2410_ADCCON);
-@@ -492,6 +519,7 @@ static int s3c2410ts_suspend(struct platform_device *pdev, pm_message_t state)
+@@ -493,6 +520,7 @@ static int s3c2410ts_suspend(struct platform_device *pdev, pm_message_t state)
static int s3c2410ts_resume(struct platform_device *pdev)
{
ts_filter_chain_clear(ts.chain);
@@ -100,3 +109,6 @@ index bcfdd00..73994ff 100644
enable_irq(IRQ_TC);
writel(WAIT4INT(0), base_addr + S3C2410_ADCTSC);
+--
+1.7.1.1
+
diff --git a/recipes/linux/linux-openmoko-2.6.32/0018-glamo-core-initialize-engine-states-as-disabled.patch b/recipes/linux/linux-openmoko-2.6.32/0018-glamo-core-initialize-engine-states-as-disabled.patch
new file mode 100644
index 0000000000..4888b94cd5
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.32/0018-glamo-core-initialize-engine-states-as-disabled.patch
@@ -0,0 +1,36 @@
+From 9615f587ce8ac94732b6473a44d776473c120af6 Mon Sep 17 00:00:00 2001
+From: Thibaut Girka <thib@sitedethib.com>
+Date: Fri, 25 Jun 2010 20:17:18 +0200
+Subject: [PATCH 18/22] glamo-core: initialize engine states as disabled
+
+This should fix random init failures such as white screen on boot.
+---
+ drivers/mfd/glamo/glamo-core.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c
+index 33a7a59..f6674f4 100644
+--- a/drivers/mfd/glamo/glamo-core.c
++++ b/drivers/mfd/glamo/glamo-core.c
+@@ -916,7 +916,7 @@ static int __devinit glamo_supported(struct glamo_core *glamo)
+
+ static int __devinit glamo_probe(struct platform_device *pdev)
+ {
+- int ret = 0, irq, irq_base;
++ int ret = 0, n, irq, irq_base;
+ struct glamo_core *glamo;
+ struct resource *mem;
+
+@@ -924,6 +924,9 @@ static int __devinit glamo_probe(struct platform_device *pdev)
+ if (!glamo)
+ return -ENOMEM;
+
++ for (n = 0; n < __NUM_GLAMO_ENGINES; n++)
++ glamo->engine_state[n] = GLAMO_ENGINE_DISABLED;
++
+ spin_lock_init(&glamo->lock);
+
+ glamo->pdev = pdev;
+--
+1.7.1.1
+
diff --git a/recipes/linux/linux-openmoko-2.6.32/hs-jack.patch b/recipes/linux/linux-openmoko-2.6.32/0019-wm8753-use-snd_soc_jack-on-neo1973.patch
index c92c3f6481..c3e3d02231 100644
--- a/recipes/linux/linux-openmoko-2.6.32/hs-jack.patch
+++ b/recipes/linux/linux-openmoko-2.6.32/0019-wm8753-use-snd_soc_jack-on-neo1973.patch
@@ -1,3 +1,12 @@
+From 261e2f00048ea8bfd5c261242c263e5a55401d64 Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Wed, 7 Jul 2010 15:29:33 +0200
+Subject: [PATCH 19/22] wm8753: use snd_soc_jack on neo1973
+
+---
+ sound/soc/s3c24xx/neo1973_wm8753.c | 46 ++++++++++++++++++++++++++++++++++++
+ 1 files changed, 46 insertions(+), 0 deletions(-)
+
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
index 5cc1ef2..643dae3 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -83,3 +92,6 @@ index 5cc1ef2..643dae3 100644
platform_device_unregister(neo1973_snd_device);
if (machine_is_neo1973_gta01())
+--
+1.7.1.1
+
diff --git a/recipes/linux/linux-openmoko-2.6.32/0001-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch b/recipes/linux/linux-openmoko-2.6.32/0020-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch
index 8ccf940c6c..71b2dd4ca2 100644
--- a/recipes/linux/linux-openmoko-2.6.32/0001-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch
+++ b/recipes/linux/linux-openmoko-2.6.32/0020-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch
@@ -1,7 +1,7 @@
-From 135a829c2fe551a7418696138df68eefad5a9b39 Mon Sep 17 00:00:00 2001
+From 9a8375f9f03770c85e635fc5dbde7124efb66154 Mon Sep 17 00:00:00 2001
From: Thomas White <taw@bitwiz.org.uk>
Date: Thu, 26 Nov 2009 08:55:33 +0300
-Subject: [PATCH] mfd: glamo: Enable FIFO stage for the LCD engine's memory access
+Subject: [PATCH 20/22] mfd: glamo: Enable FIFO stage for the LCD engine's memory access
By avoiding conflicts of memory access inside Glamo, this doubles the
speed of internal memory access.
diff --git a/recipes/linux/linux-openmoko-2.6.32/om-gta02/defconfig b/recipes/linux/linux-openmoko-2.6.32/om-gta02/defconfig
index 99dc93d20c..39a933c4cb 100644
--- a/recipes/linux/linux-openmoko-2.6.32/om-gta02/defconfig
+++ b/recipes/linux/linux-openmoko-2.6.32/om-gta02/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.32.13
-# Mon Jul 19 13:09:20 2010
+# Linux kernel version: 2.6.32.16
+# Wed Jul 21 13:53:15 2010
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -30,7 +30,6 @@ CONFIG_CONSTRUCTORS=y
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
@@ -308,9 +307,9 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
-# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
-CONFIG_PREEMPT=y
+# CONFIG_PREEMPT is not set
CONFIG_HZ=200
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
@@ -425,8 +424,8 @@ CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
# CONFIG_INET_LRO is not set
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
# CONFIG_TCP_CONG_CUBIC is not set
@@ -634,12 +633,12 @@ CONFIG_BRIDGE_EBT_ULOG=m
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
-CONFIG_STP=y
-CONFIG_BRIDGE=y
+CONFIG_STP=m
+CONFIG_BRIDGE=m
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
-CONFIG_LLC=y
+CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
@@ -696,20 +695,20 @@ CONFIG_NET_SCH_FIFO=y
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
-CONFIG_BT=y
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=y
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
+CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
-CONFIG_BT_HCIBTUSB=y
+CONFIG_BT_HCIBTUSB=m
# CONFIG_BT_HCIBTSDIO is not set
# CONFIG_BT_HCIUART is not set
# CONFIG_BT_HCIBCM203X is not set
@@ -730,6 +729,10 @@ CONFIG_WIRELESS_EXT_SYSFS=y
#
# CFG80211 needs to be enabled for MAC80211
#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
@@ -1415,47 +1418,47 @@ CONFIG_HID=y
#
# USB Input Devices
#
-CONFIG_USB_HID=y
+CONFIG_USB_HID=m
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
#
# Special HID drivers
#
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_DRAGONRISE=y
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
# CONFIG_DRAGONRISE_FF is not set
-CONFIG_HID_EZKEY=y
-CONFIG_HID_KYE=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_TWINHAN=y
-CONFIG_HID_KENSINGTON=y
-CONFIG_HID_LOGITECH=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_NTRIG=y
-CONFIG_HID_PANTHERLORD=y
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_PANTHERLORD=m
# CONFIG_PANTHERLORD_FF is not set
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_HID_GREENASIA=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
# CONFIG_GREENASIA_FF is not set
-CONFIG_HID_SMARTJOYPLUS=y
+CONFIG_HID_SMARTJOYPLUS=m
# CONFIG_SMARTJOYPLUS_FF is not set
-CONFIG_HID_TOPSEED=y
-CONFIG_HID_THRUSTMASTER=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
# CONFIG_THRUSTMASTER_FF is not set
-CONFIG_HID_WACOM=y
-CONFIG_HID_ZEROPLUS=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
# CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
@@ -1606,7 +1609,7 @@ CONFIG_USB_IOWARRIOR=m
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_VST is not set
-CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET=m
# CONFIG_USB_GADGET_DEBUG_FILES is not set
# CONFIG_USB_GADGET_DEBUG_FS is not set
CONFIG_USB_GADGET_VBUS_DRAW=500
@@ -1622,7 +1625,7 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_S3C_HSOTG is not set
# CONFIG_USB_GADGET_IMX is not set
CONFIG_USB_GADGET_S3C2410=y
-CONFIG_USB_S3C2410=y
+CONFIG_USB_S3C2410=m
# CONFIG_USB_S3C2410_DEBUG is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_AMD5536UDC is not set
@@ -1635,15 +1638,16 @@ CONFIG_USB_S3C2410=y
# CONFIG_USB_GADGET_DUALSPEED is not set
# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
-CONFIG_USB_ETH=y
+CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
# CONFIG_USB_ETH_EEM is not set
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_G_SERIAL is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
-# CONFIG_USB_CDC_COMPOSITE is not set
+CONFIG_USB_CDC_COMPOSITE=m
#
# OTG and related infrastructure
@@ -1778,7 +1782,7 @@ CONFIG_RTC_DRV_S3C=y
# TI VLYNQ
#
# CONFIG_STAGING is not set
-CONFIG_AR6000_WLAN=y
+CONFIG_AR6000_WLAN=m
# CONFIG_AR6000_WLAN_DEBUG is not set
# CONFIG_AR6000_WLAN_RESET is not set
@@ -1908,7 +1912,7 @@ CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=y
+CONFIG_EXPORTFS=m
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
@@ -2133,7 +2137,7 @@ CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=y
+CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=y
diff --git a/recipes/linux/linux-openmoko-2.6.32/use-noclone-attribute-for-naked.patch b/recipes/linux/linux-openmoko-2.6.32/use-noclone-attribute-for-naked.patch
deleted file mode 100644
index 110a13572a..0000000000
--- a/recipes/linux/linux-openmoko-2.6.32/use-noclone-attribute-for-naked.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From 583c7d937789398cb6e37989ef91cf96c16da204 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 6 Jun 2010 03:28:43 +0200
-Subject: [PATCH] add noinline and noclone attributes to naked functions
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- arch/arm/mm/copypage-feroceon.c | 4 ++--
- arch/arm/mm/copypage-v4wb.c | 4 ++--
- arch/arm/mm/copypage-v4wt.c | 4 ++--
- arch/arm/mm/copypage-xsc3.c | 4 ++--
- include/linux/compiler-gcc.h | 11 ++++++++++-
- include/linux/compiler-gcc4.h | 2 ++
- 6 files changed, 20 insertions(+), 9 deletions(-)
-
-diff --git a/arch/arm/mm/copypage-feroceon.c b/arch/arm/mm/copypage-feroceon.c
-index 70997d5..dd9598b 100644
---- a/arch/arm/mm/copypage-feroceon.c
-+++ b/arch/arm/mm/copypage-feroceon.c
-@@ -18,7 +18,7 @@ feroceon_copy_user_page(void *kto, const void *kfrom)
- {
- asm("\
- stmfd sp!, {r4-r9, lr} \n\
-- mov ip, %0 \n\
-+ mov ip, %2 \n\
- 1: mov lr, r1 \n\
- ldmia r1!, {r2 - r9} \n\
- pld [lr, #32] \n\
-@@ -64,7 +64,7 @@ feroceon_copy_user_page(void *kto, const void *kfrom)
- mcr p15, 0, ip, c7, c10, 4 @ drain WB\n\
- ldmfd sp!, {r4-r9, pc}"
- :
-- : "I" (PAGE_SIZE));
-+ : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE));
- }
-
- void feroceon_copy_user_highpage(struct page *to, struct page *from,
-diff --git a/arch/arm/mm/copypage-v4wb.c b/arch/arm/mm/copypage-v4wb.c
-index 9ab0984..7bc0ac7 100644
---- a/arch/arm/mm/copypage-v4wb.c
-+++ b/arch/arm/mm/copypage-v4wb.c
-@@ -27,7 +27,7 @@ v4wb_copy_user_page(void *kto, const void *kfrom)
- {
- asm("\
- stmfd sp!, {r4, lr} @ 2\n\
-- mov r2, %0 @ 1\n\
-+ mov r2, %2 @ 1\n\
- ldmia r1!, {r3, r4, ip, lr} @ 4\n\
- 1: mcr p15, 0, r0, c7, c6, 1 @ 1 invalidate D line\n\
- stmia r0!, {r3, r4, ip, lr} @ 4\n\
-@@ -44,7 +44,7 @@ v4wb_copy_user_page(void *kto, const void *kfrom)
- mcr p15, 0, r1, c7, c10, 4 @ 1 drain WB\n\
- ldmfd sp!, {r4, pc} @ 3"
- :
-- : "I" (PAGE_SIZE / 64));
-+ : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64));
- }
-
- void v4wb_copy_user_highpage(struct page *to, struct page *from,
-diff --git a/arch/arm/mm/copypage-v4wt.c b/arch/arm/mm/copypage-v4wt.c
-index 300efaf..35bf609 100644
---- a/arch/arm/mm/copypage-v4wt.c
-+++ b/arch/arm/mm/copypage-v4wt.c
-@@ -25,7 +25,7 @@ v4wt_copy_user_page(void *kto, const void *kfrom)
- {
- asm("\
- stmfd sp!, {r4, lr} @ 2\n\
-- mov r2, %0 @ 1\n\
-+ mov r2, %2 @ 1\n\
- ldmia r1!, {r3, r4, ip, lr} @ 4\n\
- 1: stmia r0!, {r3, r4, ip, lr} @ 4\n\
- ldmia r1!, {r3, r4, ip, lr} @ 4+1\n\
-@@ -40,7 +40,7 @@ v4wt_copy_user_page(void *kto, const void *kfrom)
- mcr p15, 0, r2, c7, c7, 0 @ flush ID cache\n\
- ldmfd sp!, {r4, pc} @ 3"
- :
-- : "I" (PAGE_SIZE / 64));
-+ : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64));
- }
-
- void v4wt_copy_user_highpage(struct page *to, struct page *from,
-diff --git a/arch/arm/mm/copypage-xsc3.c b/arch/arm/mm/copypage-xsc3.c
-index bc4525f..27dc363 100644
---- a/arch/arm/mm/copypage-xsc3.c
-+++ b/arch/arm/mm/copypage-xsc3.c
-@@ -34,7 +34,7 @@ xsc3_mc_copy_user_page(void *kto, const void *kfrom)
- {
- asm("\
- stmfd sp!, {r4, r5, lr} \n\
-- mov lr, %0 \n\
-+ mov lr, %2 \n\
- \n\
- pld [r1, #0] \n\
- pld [r1, #32] \n\
-@@ -67,7 +67,7 @@ xsc3_mc_copy_user_page(void *kto, const void *kfrom)
- \n\
- ldmfd sp!, {r4, r5, pc}"
- :
-- : "I" (PAGE_SIZE / 64 - 1));
-+ : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE / 64 - 1));
- }
-
- void xsc3_mc_copy_user_highpage(struct page *to, struct page *from,
-diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
-index a3ed7cb..132a651 100644
---- a/include/linux/compiler-gcc.h
-+++ b/include/linux/compiler-gcc.h
-@@ -58,8 +58,12 @@
- * naked functions because then mcount is called without stack and frame pointer
- * being set up and there is no chance to restore the lr register to the value
- * before mcount was called.
-+ *
-+ * The asm() bodies of naked functions often depend on standard calling conventions,
-+ * therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce
-+ * this, so we must do so ourselves. See GCC PR44290.
- */
--#define __naked __attribute__((naked)) notrace
-+#define __naked __attribute__((naked)) noinline __noclone notrace
-
- #define __noreturn __attribute__((noreturn))
-
-@@ -84,3 +88,8 @@
- #define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
- #define gcc_header(x) _gcc_header(x)
- #include gcc_header(__GNUC__)
-+
-+#if !defined(__noclone)
-+#define __noclone /* not needed */
-+#endif
-+
-diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
-index 450fa59..cd5932a 100644
---- a/include/linux/compiler-gcc4.h
-+++ b/include/linux/compiler-gcc4.h
-@@ -36,4 +36,6 @@
- the kernel context */
- #define __cold __attribute__((__cold__))
-
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone __attribute__((__noclone__))
- #endif
---
-1.7.1
-
diff --git a/recipes/linux/linux-openmoko-2.6.32_git.bb b/recipes/linux/linux-openmoko-2.6.32_git.bb
index 0aae209848..3c237f2d37 100644
--- a/recipes/linux/linux-openmoko-2.6.32_git.bb
+++ b/recipes/linux/linux-openmoko-2.6.32_git.bb
@@ -1,7 +1,7 @@
require linux.inc
require linux-openmoko.inc
-KERNEL_RELEASE="2.6.32.13"
+KERNEL_RELEASE="2.6.32.16"
SRCREV = "a9254be10ac2294ea20165a87c09ea6afcf66d94"
OEV = "oe3.3"
@@ -12,10 +12,10 @@ SRC_URI = "\
file://0001-Revert-s3cmci-initialize-default-platform-data-no_wp.patch \
# latest stable patch for ubi fix 943e167cb3e8fb191894bde8a4a75db78531a7c8
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${KERNEL_RELEASE}.bz2;apply=yes;name=stablepatch \
-# build fix
+# build fix - only when snd is as module
file://0001-wm8753-fix-build-with-gcc-4.4.2-which-works-ok-with-.patch \
# fix runtime issue when built with gcc-4.5
- file://use-noclone-attribute-for-naked.patch \
+ file://0001-add-noinline-and-noclone-attributes-to-naked-functio.patch \
# patches from Radek Polak used in qtmoko
file://0002-accels.patch.patch \
file://0003-usbhost.patch.patch \
@@ -30,19 +30,20 @@ SRC_URI = "\
file://0012-Fix-dynamic-command-queue-allocation.patch \
file://0013-Debug-statements-for-testing.patch \
file://0014-Fix-claim-of-2D-register-resource.patch \
+# fix HS Jack
+ file://0019-wm8753-use-snd_soc_jack-on-neo1973.patch \
# fix for lost touchscreen https://docs.openmoko.org/trac/ticket/2328
- file://touchscreen_ignoreunexpectedintr29.patch \
+ file://0017-s3c2410_ts-ignore-unexpected-interrupts.patch \
# fix WS
- file://0001-glamo-core-initialize-engine-states-as-disabled.patch \
-# fix HS Jack
- file://hs-jack.patch \
+ file://0016-jbt6k74-fix-WS.patch \
+ file://0018-glamo-core-initialize-engine-states-as-disabled.patch \
# faster glamo
- file://0001-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch \
+ file://0020-mfd-glamo-Enable-FIFO-stage-for-the-LCD-engine-s-mem.patch \
file://defconfig \
"
-SRC_URI[stablepatch.md5sum] = "ba6abb1ffee513a1d4f831599ddae490"
-SRC_URI[stablepatch.sha256sum] = "baf6dff5d1c478e65decf2e8b704c60e546ea37c4de59ee8eb6af9dd3d63f145"
+SRC_URI[stablepatch.md5sum] = "744890f9651962ceae7663d44b19df65"
+SRC_URI[stablepatch.sha256sum] = "e744aaa87d2daee6d10b76f411d9efa13db24f779981890b482d72364694aa08"
S = "${WORKDIR}/git"
diff --git a/recipes/linux/linux/spitz/defconfig b/recipes/linux/linux/spitz/defconfig
index f098d75d1a..312952f1ae 100644
--- a/recipes/linux/linux/spitz/defconfig
+++ b/recipes/linux/linux/spitz/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.35-rc4
-# Thu Jul 8 10:27:47 2010
+# Linux kernel version: 2.6.35-rc6
+# Thu Jul 22 23:22:01 2010
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1015,7 +1015,7 @@ CONFIG_ATA_BMDMA=y
# PIO-only SFF controllers
#
CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
+CONFIG_PATA_PLATFORM=y
#
# Generic fallback / legacy drivers
@@ -1161,7 +1161,7 @@ CONFIG_INPUT_APMPOWER=y
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_QT2160 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_TCA6416 is not set
diff --git a/recipes/linux/linux_git.bb b/recipes/linux/linux_git.bb
index 231383e972..2b029d361a 100644
--- a/recipes/linux/linux_git.bb
+++ b/recipes/linux/linux_git.bb
@@ -1,7 +1,7 @@
require linux.inc
-KERNEL_RELEASE = "2.6.35-rc5"
-SRCREV = "f469461df6ff822f71b8737bda86eea20f16ff93"
+KERNEL_RELEASE = "2.6.35-rc6"
+SRCREV = "b37fa16e78d6f9790462b3181602a26b5af36260"
PV = "${KERNEL_RELEASE}+gitr${SRCPV}"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;branch=master \