summaryrefslogtreecommitdiff
path: root/packages/linux
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux')
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.16/hx4700/defconfig2
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.19-hh5.bb (renamed from packages/linux/linux-handhelds-2.6_2.6.19-hh4.bb)0
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.19-hh6.bb11
-rw-r--r--packages/linux/linux-rp-2.6.19+git/.mtn2git_empty (renamed from packages/linux/linux-rp-2.6.18+git/.mtn2git_empty)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/add-oz-release-string.patch (renamed from packages/linux/linux-rp-2.6.18+git/add-oz-release-string.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/connectplus-remove-ide-HACK.patch (renamed from packages/linux/linux-rp-2.6.18+git/connectplus-remove-ide-HACK.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-akita (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-akita)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-c7x0 (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-c7x0)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-collie (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-collie)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-hx2000 (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-hx2000)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-poodle (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-poodle)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-qemuarm (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-qemuarm)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-qemux86 (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-qemux86)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-spitz (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-spitz)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/defconfig-tosa (renamed from packages/linux/linux-rp-2.6.18+git/defconfig-tosa)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/hrw-pcmcia-ids-r5.patch (renamed from packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/pxa-serial-hack.patch (renamed from packages/linux/linux-rp-2.6.18+git/pxa-serial-hack.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch (renamed from packages/linux/linux-rp-2.6.18+git/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/sharpsl-pm-postresume-r1.patch (renamed from packages/linux/linux-rp-2.6.18+git/sharpsl-pm-postresume-r1.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/squashfs3.0-2.6.15.patch (renamed from packages/linux/linux-rp-2.6.18+git/squashfs3.0-2.6.15.patch)2
-rw-r--r--packages/linux/linux-rp-2.6.19+git/tmio-nand-r7.patch (renamed from packages/linux/linux-rp-2.6.18+git/tmio-nand-r7.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/tmio-ohci-r6.patch (renamed from packages/linux/linux-rp-2.6.18+git/tmio-ohci-r6.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/tmio-tc6393-r8.patch (renamed from packages/linux/linux-rp-2.6.18+git/tmio-tc6393-r8.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/tosa-keyboard-r18.patch (renamed from packages/linux/linux-rp-2.6.18+git/tosa-keyboard-r18.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/tosa-lcdnoise-r1.patch (renamed from packages/linux/linux-rp-2.6.18+git/tosa-lcdnoise-r1.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/tosa-tmio-lcd-r10.patch (renamed from packages/linux/linux-rp-2.6.18+git/tosa-tmio-lcd-r10.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/wm9712-reset-loop-r2.patch (renamed from packages/linux/linux-rp-2.6.18+git/wm9712-reset-loop-r2.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/wm9712-suspend-cold-res-r2.patch (renamed from packages/linux/linux-rp-2.6.18+git/wm9712-suspend-cold-res-r2.patch)0
-rw-r--r--packages/linux/linux-rp-2.6.19+git/wm97xx-lcdnoise-r0.patch (renamed from packages/linux/linux-rp-2.6.18+git/wm97xx-lcdnoise-r0.patch)0
-rw-r--r--packages/linux/linux-rp_2.6.19+git.bb (renamed from packages/linux/linux-rp_2.6.18+git.bb)14
-rw-r--r--packages/linux/linux-rp_2.6.19.bb8
-rw-r--r--packages/linux/linux-smdk2440-2.6.19/.mtn2git_empty0
-rw-r--r--packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch532
-rw-r--r--packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch529
-rw-r--r--packages/linux/linux-smdk2440_2.6.19.bb (renamed from packages/linux/linux-smdk2440_2.6.18.bb)5
-rw-r--r--packages/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb2
36 files changed, 1090 insertions, 15 deletions
diff --git a/packages/linux/linux-handhelds-2.6-2.6.16/hx4700/defconfig b/packages/linux/linux-handhelds-2.6-2.6.16/hx4700/defconfig
index 7fadc7ae3a..ea1a929163 100644
--- a/packages/linux/linux-handhelds-2.6-2.6.16/hx4700/defconfig
+++ b/packages/linux/linux-handhelds-2.6-2.6.16/hx4700/defconfig
@@ -1405,7 +1405,7 @@ CONFIG_CLASS_LEDS=y
#
# File systems
#
-CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
diff --git a/packages/linux/linux-handhelds-2.6_2.6.19-hh4.bb b/packages/linux/linux-handhelds-2.6_2.6.19-hh5.bb
index b34d4630a0..b34d4630a0 100644
--- a/packages/linux/linux-handhelds-2.6_2.6.19-hh4.bb
+++ b/packages/linux/linux-handhelds-2.6_2.6.19-hh5.bb
diff --git a/packages/linux/linux-handhelds-2.6_2.6.19-hh6.bb b/packages/linux/linux-handhelds-2.6_2.6.19-hh6.bb
new file mode 100644
index 0000000000..b34d4630a0
--- /dev/null
+++ b/packages/linux/linux-handhelds-2.6_2.6.19-hh6.bb
@@ -0,0 +1,11 @@
+SECTION = "kernel"
+DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
+LICENSE = "GPL"
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://defconfig"
+
+require linux-handhelds-2.6.inc
diff --git a/packages/linux/linux-rp-2.6.18+git/.mtn2git_empty b/packages/linux/linux-rp-2.6.19+git/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/linux/linux-rp-2.6.18+git/.mtn2git_empty
+++ b/packages/linux/linux-rp-2.6.19+git/.mtn2git_empty
diff --git a/packages/linux/linux-rp-2.6.18+git/add-oz-release-string.patch b/packages/linux/linux-rp-2.6.19+git/add-oz-release-string.patch
index a80a1d5528..a80a1d5528 100644
--- a/packages/linux/linux-rp-2.6.18+git/add-oz-release-string.patch
+++ b/packages/linux/linux-rp-2.6.19+git/add-oz-release-string.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/connectplus-remove-ide-HACK.patch b/packages/linux/linux-rp-2.6.19+git/connectplus-remove-ide-HACK.patch
index 4414b21191..4414b21191 100644
--- a/packages/linux/linux-rp-2.6.18+git/connectplus-remove-ide-HACK.patch
+++ b/packages/linux/linux-rp-2.6.19+git/connectplus-remove-ide-HACK.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-akita b/packages/linux/linux-rp-2.6.19+git/defconfig-akita
index 249466ac87..249466ac87 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-akita
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-akita
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-c7x0 b/packages/linux/linux-rp-2.6.19+git/defconfig-c7x0
index 1d702f60c0..1d702f60c0 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-c7x0
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-c7x0
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-collie b/packages/linux/linux-rp-2.6.19+git/defconfig-collie
index f488d42d93..f488d42d93 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-collie
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-collie
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-hx2000 b/packages/linux/linux-rp-2.6.19+git/defconfig-hx2000
index ea56989b75..ea56989b75 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-hx2000
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-hx2000
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-poodle b/packages/linux/linux-rp-2.6.19+git/defconfig-poodle
index deacd170f2..deacd170f2 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-poodle
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-poodle
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-qemuarm b/packages/linux/linux-rp-2.6.19+git/defconfig-qemuarm
index abb6726556..abb6726556 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-qemuarm
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-qemuarm
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-qemux86 b/packages/linux/linux-rp-2.6.19+git/defconfig-qemux86
index fb66874b90..fb66874b90 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-qemux86
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-qemux86
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-spitz b/packages/linux/linux-rp-2.6.19+git/defconfig-spitz
index 824fd57aaa..824fd57aaa 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-spitz
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-spitz
diff --git a/packages/linux/linux-rp-2.6.18+git/defconfig-tosa b/packages/linux/linux-rp-2.6.19+git/defconfig-tosa
index 4144e5cf38..4144e5cf38 100644
--- a/packages/linux/linux-rp-2.6.18+git/defconfig-tosa
+++ b/packages/linux/linux-rp-2.6.19+git/defconfig-tosa
diff --git a/packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch b/packages/linux/linux-rp-2.6.19+git/hrw-pcmcia-ids-r5.patch
index b09acacadd..b09acacadd 100644
--- a/packages/linux/linux-rp-2.6.18+git/hrw-pcmcia-ids-r5.patch
+++ b/packages/linux/linux-rp-2.6.19+git/hrw-pcmcia-ids-r5.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/pxa-serial-hack.patch b/packages/linux/linux-rp-2.6.19+git/pxa-serial-hack.patch
index 9ece71331a..9ece71331a 100644
--- a/packages/linux/linux-rp-2.6.18+git/pxa-serial-hack.patch
+++ b/packages/linux/linux-rp-2.6.19+git/pxa-serial-hack.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/packages/linux/linux-rp-2.6.19+git/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
index 18bf4268fc..18bf4268fc 100644
--- a/packages/linux/linux-rp-2.6.18+git/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
+++ b/packages/linux/linux-rp-2.6.19+git/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/sharpsl-pm-postresume-r1.patch b/packages/linux/linux-rp-2.6.19+git/sharpsl-pm-postresume-r1.patch
index 409daf03e6..409daf03e6 100644
--- a/packages/linux/linux-rp-2.6.18+git/sharpsl-pm-postresume-r1.patch
+++ b/packages/linux/linux-rp-2.6.19+git/sharpsl-pm-postresume-r1.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/squashfs3.0-2.6.15.patch b/packages/linux/linux-rp-2.6.19+git/squashfs3.0-2.6.15.patch
index 097659abad..405d4ec124 100644
--- a/packages/linux/linux-rp-2.6.18+git/squashfs3.0-2.6.15.patch
+++ b/packages/linux/linux-rp-2.6.19+git/squashfs3.0-2.6.15.patch
@@ -2182,7 +2182,7 @@ Index: git/fs/squashfs/inode.c
+static struct inode *squashfs_alloc_inode(struct super_block *sb)
+{
+ struct squashfs_inode_info *ei;
-+ ei = kmem_cache_alloc(squashfs_inode_cachep, SLAB_KERNEL);
++ ei = kmem_cache_alloc(squashfs_inode_cachep, GFP_KERNEL);
+ if (!ei)
+ return NULL;
+ return &ei->vfs_inode;
diff --git a/packages/linux/linux-rp-2.6.18+git/tmio-nand-r7.patch b/packages/linux/linux-rp-2.6.19+git/tmio-nand-r7.patch
index b6ce56eea4..b6ce56eea4 100644
--- a/packages/linux/linux-rp-2.6.18+git/tmio-nand-r7.patch
+++ b/packages/linux/linux-rp-2.6.19+git/tmio-nand-r7.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/tmio-ohci-r6.patch b/packages/linux/linux-rp-2.6.19+git/tmio-ohci-r6.patch
index 9fdd2962c9..9fdd2962c9 100644
--- a/packages/linux/linux-rp-2.6.18+git/tmio-ohci-r6.patch
+++ b/packages/linux/linux-rp-2.6.19+git/tmio-ohci-r6.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/tmio-tc6393-r8.patch b/packages/linux/linux-rp-2.6.19+git/tmio-tc6393-r8.patch
index 2f1b47d783..2f1b47d783 100644
--- a/packages/linux/linux-rp-2.6.18+git/tmio-tc6393-r8.patch
+++ b/packages/linux/linux-rp-2.6.19+git/tmio-tc6393-r8.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/tosa-keyboard-r18.patch b/packages/linux/linux-rp-2.6.19+git/tosa-keyboard-r18.patch
index 00bac40db5..00bac40db5 100644
--- a/packages/linux/linux-rp-2.6.18+git/tosa-keyboard-r18.patch
+++ b/packages/linux/linux-rp-2.6.19+git/tosa-keyboard-r18.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/tosa-lcdnoise-r1.patch b/packages/linux/linux-rp-2.6.19+git/tosa-lcdnoise-r1.patch
index 624098bc64..624098bc64 100644
--- a/packages/linux/linux-rp-2.6.18+git/tosa-lcdnoise-r1.patch
+++ b/packages/linux/linux-rp-2.6.19+git/tosa-lcdnoise-r1.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/tosa-tmio-lcd-r10.patch b/packages/linux/linux-rp-2.6.19+git/tosa-tmio-lcd-r10.patch
index aef3a047c1..aef3a047c1 100644
--- a/packages/linux/linux-rp-2.6.18+git/tosa-tmio-lcd-r10.patch
+++ b/packages/linux/linux-rp-2.6.19+git/tosa-tmio-lcd-r10.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/wm9712-reset-loop-r2.patch b/packages/linux/linux-rp-2.6.19+git/wm9712-reset-loop-r2.patch
index 78e81ea83a..78e81ea83a 100644
--- a/packages/linux/linux-rp-2.6.18+git/wm9712-reset-loop-r2.patch
+++ b/packages/linux/linux-rp-2.6.19+git/wm9712-reset-loop-r2.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/wm9712-suspend-cold-res-r2.patch b/packages/linux/linux-rp-2.6.19+git/wm9712-suspend-cold-res-r2.patch
index 5179b47cc4..5179b47cc4 100644
--- a/packages/linux/linux-rp-2.6.18+git/wm9712-suspend-cold-res-r2.patch
+++ b/packages/linux/linux-rp-2.6.19+git/wm9712-suspend-cold-res-r2.patch
diff --git a/packages/linux/linux-rp-2.6.18+git/wm97xx-lcdnoise-r0.patch b/packages/linux/linux-rp-2.6.19+git/wm97xx-lcdnoise-r0.patch
index 191de3af22..191de3af22 100644
--- a/packages/linux/linux-rp-2.6.18+git/wm97xx-lcdnoise-r0.patch
+++ b/packages/linux/linux-rp-2.6.19+git/wm97xx-lcdnoise-r0.patch
diff --git a/packages/linux/linux-rp_2.6.18+git.bb b/packages/linux/linux-rp_2.6.19+git.bb
index c25307cdec..f5af2ae05e 100644
--- a/packages/linux/linux-rp_2.6.18+git.bb
+++ b/packages/linux/linux-rp_2.6.19+git.bb
@@ -14,31 +14,31 @@ DEFAULT_PREFERENCE = "-1"
# Patches submitted upstream are towards top of this list
# Hacks should clearly named and at the bottom
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ae99a78af33f00565a05dbbc6ca9b247fed002c5 \
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=v2.6.20-rc1 \
http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.12.4.patch;patch=1 \
+ ${RPSRC}/pxafb_fix_params-r1.patch;patch=1 \
${RPSRC}/hx2750_base-r27.patch;patch=1 \
${RPSRC}/hx2750_bl-r7.patch;patch=1 \
${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
- ${RPSRC}/pxa_keys-r5.patch;patch=1 \
- ${RPSRC}/tsc2101-r14.patch;patch=1 \
+ ${RPSRC}/pxa_keys-r6.patch;patch=1 \
+ ${RPSRC}/tsc2101-r15.patch;patch=1 \
${RPSRC}/hx2750_test1-r4.patch;patch=1 \
${RPSRC}/pxa_timerfix-r0.patch;patch=1 \
${RPSRC}/input_power-r6.patch;patch=1 \
- ${RPSRC}/pxa25x_cpufreq-r1.patch;patch=1 \
+ ${RPSRC}/pxa25x_cpufreq-r2.patch;patch=1 \
${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
${RPSRC}/pm_changes-r1.patch;patch=1 \
- ${RPSRC}/usb_pxa27x_udc-r1.patch;patch=1 \
${RPSRC}/usb_add_epalloc-r3.patch;patch=1 \
+ ${RPSRC}/usb_pxa27x_udc-r3.patch;patch=1 \
${DOSRC}/kexec-arm-r3.patch;patch=1 \
${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
${RPSRC}/poodle_pm-r3.patch;patch=1 \
- ${RPSRC}/pxa27x_overlay-r3.patch;patch=1 \
+ ${RPSRC}/pxa27x_overlay-r5.patch;patch=1 \
${RPSRC}/w100_extaccel-r0.patch;patch=1 \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
${RPSRC}/logo_oz-r2.patch.bz2;patch=1;status=unmergable \
${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
- file://add-oz-release-string.patch;patch=1;status=unmergable \
${RPSRC}/mmcsd_large_cards-r0.patch;patch=1;status=hack \
${RPSRC}/mmcsd_no_scr_check-r0.patch;patch=1;status=hack \
${RPSRC}/integrator_rgb-r1.patch;patch=1;status=hack \
diff --git a/packages/linux/linux-rp_2.6.19.bb b/packages/linux/linux-rp_2.6.19.bb
index b13b127722..3f0472ecdd 100644
--- a/packages/linux/linux-rp_2.6.19.bb
+++ b/packages/linux/linux-rp_2.6.19.bb
@@ -1,6 +1,6 @@
require linux-rp.inc
-PR = "r1"
+PR = "r2"
DEFAULT_PREFERENCE = "-1"
@@ -16,6 +16,8 @@ DEFAULT_PREFERENCE = "-1"
# Hacks should clearly named and at the bottom
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.19.tar.bz2 \
http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.12.4.patch;patch=1 \
+ ${RPSRC}/pxafb_fix_params-r1.patch;patch=1 \
+ ${RPSRC}/pxa_irda_susres_fix-r0.patch;patch=1 \
${RPSRC}/hx2750_base-r27.patch;patch=1 \
${RPSRC}/hx2750_bl-r7.patch;patch=1 \
${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
@@ -27,12 +29,12 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.19.tar.bz2 \
${RPSRC}/pxa25x_cpufreq-r1.patch;patch=1 \
${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
${RPSRC}/pm_changes-r1.patch;patch=1 \
- ${RPSRC}/usb_pxa27x_udc-r1.patch;patch=1 \
${RPSRC}/usb_add_epalloc-r3.patch;patch=1 \
+ ${RPSRC}/usb_pxa27x_udc-r2.patch;patch=1 \
${DOSRC}/kexec-arm-r3.patch;patch=1 \
${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
${RPSRC}/poodle_pm-r3.patch;patch=1 \
- ${RPSRC}/pxa27x_overlay-r3.patch;patch=1 \
+ ${RPSRC}/pxa27x_overlay-r4.patch;patch=1 \
${RPSRC}/w100_extaccel-r0.patch;patch=1 \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
diff --git a/packages/linux/linux-smdk2440-2.6.19/.mtn2git_empty b/packages/linux/linux-smdk2440-2.6.19/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-smdk2440-2.6.19/.mtn2git_empty
diff --git a/packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch b/packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch
new file mode 100644
index 0000000000..d785cb885f
--- /dev/null
+++ b/packages/linux/linux-smdk2440-2.6.19/smdk2440-touchscreen-r2.patch
@@ -0,0 +1,532 @@
+Index: linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c
+===================================================================
+--- /dev/null
++++ linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c
+@@ -0,0 +1,351 @@
++/*
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
++ * iPAQ H1940 touchscreen support
++ *
++ * ChangeLog
++ *
++ * 2004-09-05: Herbert Pötzl <herbert@13thfloor.at>
++ * - added clock (de-)allocation code
++ *
++ * 2005-03-06: Arnaud Patard <arnaud.patard@rtp-net.org>
++ * - h1940_ -> s3c2410 (this driver is now also used on the n30
++ * machines :P)
++ * - Debug messages are now enabled with the config option
++ * TOUCHSCREEN_S3C2410_DEBUG
++ * - Changed the way the value are read
++ * - Input subsystem should now work
++ * - Use ioremap and readl/writel
++ *
++ * 2005-03-23: Arnaud Patard <arnaud.patard@rtp-net.org>
++ * - Make use of some undocumented features of the touchscreen
++ * controller
++ *
++ */
++
++#include <linux/errno.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/slab.h>
++#include <linux/input.h>
++#include <linux/init.h>
++#include <linux/serio.h>
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/clk.h>
++#include <asm/io.h>
++#include <asm/irq.h>
++
++#include <asm/arch/regs-adc.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/ts.h>
++
++/* For ts.dev.id.version */
++#define S3C2410TSVERSION 0x0101
++
++#define WAIT4INT(x) (((x)<<8) | \
++ S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
++ S3C2410_ADCTSC_XY_PST(3))
++
++#define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
++ S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0))
++
++#define DEBUG_LVL KERN_DEBUG
++
++MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
++MODULE_DESCRIPTION("s3c2410 touchscreen driver");
++MODULE_LICENSE("GPL");
++
++/*
++ * Definitions & global arrays.
++ */
++
++
++static char *s3c2410ts_name = "s3c2410 TouchScreen";
++
++/*
++ * Per-touchscreen data.
++ */
++
++struct s3c2410ts {
++ struct input_dev *dev;
++ long xp;
++ long yp;
++ int count;
++ int shift;
++};
++
++static struct s3c2410ts ts;
++static void __iomem *base_addr;
++
++static inline void s3c2410_ts_connect(void)
++{
++ s3c2410_gpio_cfgpin(S3C2410_GPG12, S3C2410_GPG12_XMON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG13, S3C2410_GPG13_nXPON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG14, S3C2410_GPG14_YMON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG15, S3C2410_GPG15_nYPON);
++}
++
++static void touch_timer_fire(unsigned long data)
++{
++ unsigned long data0;
++ unsigned long data1;
++ int updown;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN));
++
++ if (updown) {
++ if (ts.count != 0) {
++ ts.xp >>= ts.shift;
++ ts.yp >>= ts.shift;
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ {
++ struct timeval tv;
++ do_gettimeofday(&tv);
++ printk(DEBUG_LVL "T: %06d, X: %03ld, Y: %03ld\n", (int)tv.tv_usec, ts.xp, ts.yp);
++ }
++#endif
++
++ input_report_abs(ts.dev, ABS_Y, ts.xp);
++ input_report_abs(ts.dev, ABS_X, ts.yp);
++
++ input_report_key(ts.dev, BTN_TOUCH, 1);
++ input_report_abs(ts.dev, ABS_PRESSURE, 1);
++ input_sync(ts.dev);
++ }
++
++ ts.count = 0;
++
++ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
++ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
++ } else {
++ ts.count = 0;
++
++ input_report_abs(ts.dev, ABS_Y, ts.xp);
++ input_report_abs(ts.dev, ABS_X, ts.yp);
++
++ input_report_key(ts.dev, BTN_TOUCH, 0);
++ input_report_abs(ts.dev, ABS_PRESSURE, 0);
++ input_sync(ts.dev);
++
++ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
++ }
++}
++
++static struct timer_list touch_timer =
++ TIMER_INITIALIZER(touch_timer_fire, 0, 0);
++
++static irqreturn_t stylus_updown(int irq, void *dev_id, struct pt_regs *regs)
++{
++ unsigned long data0;
++ unsigned long data1;
++ int updown;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN));
++
++ /* TODO we should never get an interrupt with updown set while
++ * the timer is running, but maybe we ought to verify that the
++ * timer isn't running anyways. */
++
++ if (updown)
++ touch_timer_fire(0);
++
++ return IRQ_HANDLED;
++}
++
++
++static irqreturn_t stylus_action(int irq, void *dev_id, struct pt_regs *regs)
++{
++ unsigned long data0;
++ unsigned long data1;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ ts.xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK;
++ ts.yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK;
++ ts.count++;
++
++ if (ts.count < (1<<ts.shift)) {
++ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
++ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
++ } else {
++ mod_timer(&touch_timer, jiffies+1);
++ writel(WAIT4INT(1), base_addr+S3C2410_ADCTSC);
++ }
++
++ return IRQ_HANDLED;
++}
++
++static struct clk *adc_clock;
++
++/*
++ * The functions for inserting/removing us as a module.
++ */
++
++static int __init s3c2410ts_probe(struct platform_device *pdev)
++{
++ struct s3c2410_ts_mach_info *info;
++ struct input_dev *input_dev;
++
++ info = ( struct s3c2410_ts_mach_info *)pdev->dev.platform_data;
++
++ if (!info)
++ {
++ printk(KERN_ERR "Hm... too bad : no platform data for ts\n");
++ return -EINVAL;
++ }
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ printk(DEBUG_LVL "Entering s3c2410ts_init\n");
++#endif
++
++ adc_clock = clk_get(NULL, "adc");
++ if (!adc_clock) {
++ printk(KERN_ERR "failed to get adc clock source\n");
++ return -ENOENT;
++ }
++ clk_enable(adc_clock);
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ printk(DEBUG_LVL "got and enabled clock\n");
++#endif
++
++ base_addr=ioremap(S3C2410_PA_ADC,0x20);
++ if (base_addr == NULL) {
++ printk(KERN_ERR "Failed to remap register block\n");
++ return -ENOMEM;
++ }
++
++
++ /* Configure GPIOs */
++ s3c2410_ts_connect();
++
++ if ((info->presc&0xff) > 0)
++ writel(S3C2410_ADCCON_PRSCEN | S3C2410_ADCCON_PRSCVL(info->presc&0xFF),\
++ base_addr+S3C2410_ADCCON);
++ else
++ writel(0,base_addr+S3C2410_ADCCON);
++
++
++ /* Initialise registers */
++ if ((info->delay&0xffff) > 0)
++ writel(info->delay & 0xffff, base_addr+S3C2410_ADCDLY);
++
++ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
++
++ /* Initialise input stuff */
++ memset(&ts, 0, sizeof(struct s3c2410ts));
++ input_dev = input_allocate_device();
++
++ if (!input_dev) {
++ printk(KERN_ERR "Unable to allocate the input device !!\n");
++ return -ENOMEM;
++ }
++
++ ts.dev = input_dev;
++ ts.dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS);
++ ts.dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
++ input_set_abs_params(ts.dev, ABS_X, 0x10, 0x3FF, 0, 0);
++ input_set_abs_params(ts.dev, ABS_Y, 0x10, 0x3FF, 0, 0);
++ input_set_abs_params(ts.dev, ABS_PRESSURE, 0, 1, 0, 0);
++
++ ts.dev->private = &ts;
++ ts.dev->name = s3c2410ts_name;
++ ts.dev->id.bustype = BUS_RS232;
++ ts.dev->id.vendor = 0xDEAD;
++ ts.dev->id.product = 0xBEEF;
++ ts.dev->id.version = S3C2410TSVERSION;
++
++ ts.shift = info->oversampling_shift;
++
++ /* Get irqs */
++ if (request_irq(IRQ_ADC, stylus_action, SA_SAMPLE_RANDOM,
++ "s3c2410_action", ts.dev)) {
++ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_ADC !\n");
++ iounmap(base_addr);
++ return -EIO;
++ }
++ if (request_irq(IRQ_TC, stylus_updown, SA_SAMPLE_RANDOM,
++ "s3c2410_action", ts.dev)) {
++ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_TC !\n");
++ iounmap(base_addr);
++ return -EIO;
++ }
++
++ printk(KERN_INFO "%s successfully loaded\n", s3c2410ts_name);
++
++ /* All went ok, so register to the input system */
++ input_register_device(ts.dev);
++
++ return 0;
++}
++
++static int s3c2410ts_remove(struct platform_device *pdev)
++{
++ disable_irq(IRQ_ADC);
++ disable_irq(IRQ_TC);
++ free_irq(IRQ_TC,ts.dev);
++ free_irq(IRQ_ADC,ts.dev);
++
++ if (adc_clock) {
++ clk_disable(adc_clock);
++ clk_put(adc_clock);
++ adc_clock = NULL;
++ }
++
++ input_unregister_device(ts.dev);
++ iounmap(base_addr);
++
++ return 0;
++}
++
++static struct platform_driver s3c2410ts_driver = {
++ .driver = {
++ .name = "s3c2410-ts",
++ .owner = THIS_MODULE,
++ },
++ .probe = s3c2410ts_probe,
++ .remove = s3c2410ts_remove,
++};
++
++
++static int __init s3c2410ts_init(void)
++{
++ return platform_driver_register(&s3c2410ts_driver);
++}
++
++static void __exit s3c2410ts_exit(void)
++{
++ platform_driver_unregister(&s3c2410ts_driver);
++}
++
++module_init(s3c2410ts_init);
++module_exit(s3c2410ts_exit);
++
++/*
++ Local variables:
++ compile-command: "make ARCH=arm CROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux- -k -C ../../.."
++ c-basic-offset: 8
++ End:
++*/
+Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.c
+===================================================================
+--- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.c
++++ linux-2.6.19/arch/arm/mach-s3c2410/devs.c
+@@ -28,6 +28,7 @@
+ #include <asm/irq.h>
+
+ #include <asm/arch/regs-serial.h>
++#include <asm/arch/ts.h>
+
+ #include "devs.h"
+ #include "cpu.h"
+@@ -204,6 +205,23 @@ struct platform_device s3c_device_nand =
+
+ EXPORT_SYMBOL(s3c_device_nand);
+
++/* Touchscreen */
++struct platform_device s3c_device_ts = {
++ .name = "s3c2410-ts",
++ .id = -1,
++};
++
++EXPORT_SYMBOL(s3c_device_ts);
++
++static struct s3c2410_ts_mach_info s3c2410ts_info;
++
++void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
++{
++ memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info));
++ s3c_device_ts.dev.platform_data = &s3c2410ts_info;
++}
++EXPORT_SYMBOL(set_s3c2410ts_info);
++
+ /* USB Device (Gadget)*/
+
+ static struct resource s3c_usbgadget_resource[] = {
+Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.h
+===================================================================
+--- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.h
++++ linux-2.6.19/arch/arm/mach-s3c2410/devs.h
+@@ -41,6 +41,8 @@ extern struct platform_device s3c_device
+ extern struct platform_device s3c_device_timer3;
+
+ extern struct platform_device s3c_device_usbgadget;
++extern struct platform_device s3c_device_ts;
++
+
+ /* s3c2440 specific devices */
+
+Index: linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c
+===================================================================
+--- linux-2.6.19.orig/arch/arm/mach-s3c2410/mach-smdk2440.c
++++ linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c
+@@ -38,6 +38,7 @@
+
+ #include <asm/arch/idle.h>
+ #include <asm/arch/fb.h>
++#include <asm/arch/ts.h>
+
+ #include "s3c2410.h"
+ #include "s3c2440.h"
+@@ -177,6 +178,7 @@ static struct platform_device *smdk2440_
+ &s3c_device_wdt,
+ &s3c_device_i2c,
+ &s3c_device_iis,
++ &s3c_device_ts,
+ };
+
+ static struct s3c24xx_board smdk2440_board __initdata = {
+@@ -184,6 +186,13 @@ static struct s3c24xx_board smdk2440_boa
+ .devices_count = ARRAY_SIZE(smdk2440_devices)
+ };
+
++static struct s3c2410_ts_mach_info smdk2440_ts_cfg __initdata = {
++ .delay = 10000,
++ .presc = 49,
++ .oversampling_shift = 2,
++};
++
++
+ static void __init smdk2440_map_io(void)
+ {
+ s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
+@@ -195,6 +204,7 @@ static void __init smdk2440_map_io(void)
+ static void __init smdk2440_machine_init(void)
+ {
+ s3c24xx_fb_set_platdata(&smdk2440_lcd_cfg);
++ set_s3c2410ts_info(&smdk2440_ts_cfg);
+
+ smdk_machine_init();
+ }
+Index: linux-2.6.19/drivers/input/touchscreen/Kconfig
+===================================================================
+--- linux-2.6.19.orig/drivers/input/touchscreen/Kconfig
++++ linux-2.6.19/drivers/input/touchscreen/Kconfig
+@@ -49,6 +49,25 @@ config TOUCHSCREEN_CORGI
+ To compile this driver as a module, choose M here: the
+ module will be called corgi_ts.
+
++config TOUCHSCREEN_S3C2410
++ tristate "Samsung S3C2410 touchscreen input driver"
++ depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN
++ select SERIO
++ help
++ Say Y here if you have the s3c2410 touchscreen.
++
++ If unsure, say N.
++
++ To compile this driver as a module, choose M here: the
++ module will be called s3c2410_ts.
++
++config TOUCHSCREEN_S3C2410_DEBUG
++ boolean "Samsung S3C2410 touchscreen debug messages"
++ depends on TOUCHSCREEN_S3C2410
++ help
++ Select this if you want debug messages
++
++
+ config TOUCHSCREEN_GUNZE
+ tristate "Gunze AHL-51S touchscreen"
+ select SERIO
+Index: linux-2.6.19/drivers/input/touchscreen/Makefile
+===================================================================
+--- linux-2.6.19.orig/drivers/input/touchscreen/Makefile
++++ linux-2.6.19/drivers/input/touchscreen/Makefile
+@@ -15,3 +15,4 @@ obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680
+ obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o
+ obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
+ obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o
++obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
+Index: linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h
+===================================================================
+--- /dev/null
++++ linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h
+@@ -0,0 +1,28 @@
++/* linux/include/asm/arch-s3c2410/ts.h
++ *
++ * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ *
++ * Changelog:
++ * 24-Mar-2005 RTP Created file
++ * 03-Aug-2005 RTP Renamed to ts.h
++ */
++
++#ifndef __ASM_ARM_TS_H
++#define __ASM_ARM_TS_H
++
++struct s3c2410_ts_mach_info {
++ int delay;
++ int presc;
++ int oversampling_shift;
++};
++
++void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info);
++
++#endif /* __ASM_ARM_TS_H */
++
+Index: linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h
+===================================================================
+--- linux-2.6.19.orig/include/asm-arm/arch-s3c2410/regs-adc.h
++++ linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h
+@@ -41,7 +41,7 @@
+ #define S3C2410_ADCTSC_XP_SEN (1<<4)
+ #define S3C2410_ADCTSC_PULL_UP_DISABLE (1<<3)
+ #define S3C2410_ADCTSC_AUTO_PST (1<<2)
+-#define S3C2410_ADCTSC_XY_PST (0x3<<0)
++#define S3C2410_ADCTSC_XY_PST(x) (((x)&0x3)<<0)
+
+ /* ADCDAT0 Bits */
+ #define S3C2410_ADCDAT0_UPDOWN (1<<15)
diff --git a/packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch b/packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch
new file mode 100644
index 0000000000..d03fd94017
--- /dev/null
+++ b/packages/linux/linux-smdk2440/smdk2440-touchscreen-r3.patch
@@ -0,0 +1,529 @@
+Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.c
+===================================================================
+--- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.c
++++ linux-2.6.19/arch/arm/mach-s3c2410/devs.c
+@@ -26,6 +26,7 @@
+ #include <asm/hardware.h>
+ #include <asm/io.h>
+ #include <asm/irq.h>
++#include <asm/arch/ts.h>
+
+ #include <asm/arch/regs-serial.h>
+
+@@ -204,6 +205,23 @@ struct platform_device s3c_device_nand =
+
+ EXPORT_SYMBOL(s3c_device_nand);
+
++/* Touchscreen */
++struct platform_device s3c_device_ts = {
++ .name = "s3c2410-ts",
++ .id = -1,
++};
++
++EXPORT_SYMBOL(s3c_device_ts);
++
++static struct s3c2410_ts_mach_info s3c2410ts_info;
++
++void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
++{
++ memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info));
++ s3c_device_ts.dev.platform_data = &s3c2410ts_info;
++}
++EXPORT_SYMBOL(set_s3c2410ts_info);
++
+ /* USB Device (Gadget)*/
+
+ static struct resource s3c_usbgadget_resource[] = {
+Index: linux-2.6.19/arch/arm/mach-s3c2410/devs.h
+===================================================================
+--- linux-2.6.19.orig/arch/arm/mach-s3c2410/devs.h
++++ linux-2.6.19/arch/arm/mach-s3c2410/devs.h
+@@ -41,6 +41,7 @@ extern struct platform_device s3c_device
+ extern struct platform_device s3c_device_timer3;
+
+ extern struct platform_device s3c_device_usbgadget;
++extern struct platform_device s3c_device_ts;
+
+ /* s3c2440 specific devices */
+
+Index: linux-2.6.19/drivers/input/touchscreen/Kconfig
+===================================================================
+--- linux-2.6.19.orig/drivers/input/touchscreen/Kconfig
++++ linux-2.6.19/drivers/input/touchscreen/Kconfig
+@@ -49,6 +49,24 @@ config TOUCHSCREEN_CORGI
+ To compile this driver as a module, choose M here: the
+ module will be called corgi_ts.
+
++config TOUCHSCREEN_S3C2410
++ tristate "Samsung S3C2410 touchscreen input driver"
++ depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN
++ select SERIO
++ help
++ Say Y here if you have the s3c2410 touchscreen.
++
++ If unsure, say N.
++
++ To compile this driver as a module, choose M here: the
++ module will be called s3c2410_ts.
++
++config TOUCHSCREEN_S3C2410_DEBUG
++ boolean "Samsung S3C2410 touchscreen debug messages"
++ depends on TOUCHSCREEN_S3C2410
++ help
++ Select this if you want debug messages
++
+ config TOUCHSCREEN_GUNZE
+ tristate "Gunze AHL-51S touchscreen"
+ select SERIO
+Index: linux-2.6.19/drivers/input/touchscreen/Makefile
+===================================================================
+--- linux-2.6.19.orig/drivers/input/touchscreen/Makefile
++++ linux-2.6.19/drivers/input/touchscreen/Makefile
+@@ -15,3 +15,5 @@ obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680
+ obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o
+ obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
+ obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o
++obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
++
+Index: linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c
+===================================================================
+--- /dev/null
++++ linux-2.6.19/drivers/input/touchscreen/s3c2410_ts.c
+@@ -0,0 +1,350 @@
++/*
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
++ * iPAQ H1940 touchscreen support
++ *
++ * ChangeLog
++ *
++ * 2004-09-05: Herbert Pötzl <herbert@13thfloor.at>
++ * - added clock (de-)allocation code
++ *
++ * 2005-03-06: Arnaud Patard <arnaud.patard@rtp-net.org>
++ * - h1940_ -> s3c2410 (this driver is now also used on the n30
++ * machines :P)
++ * - Debug messages are now enabled with the config option
++ * TOUCHSCREEN_S3C2410_DEBUG
++ * - Changed the way the value are read
++ * - Input subsystem should now work
++ * - Use ioremap and readl/writel
++ *
++ * 2005-03-23: Arnaud Patard <arnaud.patard@rtp-net.org>
++ * - Make use of some undocumented features of the touchscreen
++ * controller
++ *
++ */
++
++#include <linux/errno.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/slab.h>
++#include <linux/input.h>
++#include <linux/init.h>
++#include <linux/serio.h>
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/clk.h>
++#include <asm/io.h>
++#include <asm/irq.h>
++
++#include <asm/arch/regs-adc.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/ts.h>
++
++/* For ts.dev.id.version */
++#define S3C2410TSVERSION 0x0101
++
++#define WAIT4INT(x) (((x)<<8) | \
++ S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
++ S3C2410_ADCTSC_XY_PST(3))
++
++#define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
++ S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0))
++
++#define DEBUG_LVL KERN_DEBUG
++
++MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
++MODULE_DESCRIPTION("s3c2410 touchscreen driver");
++MODULE_LICENSE("GPL");
++
++/*
++ * Definitions & global arrays.
++ */
++
++
++static char *s3c2410ts_name = "s3c2410 TouchScreen";
++
++/*
++ * Per-touchscreen data.
++ */
++
++struct s3c2410ts {
++ struct input_dev *dev;
++ long xp;
++ long yp;
++ int count;
++ int shift;
++};
++
++static struct s3c2410ts ts;
++static void __iomem *base_addr;
++
++static inline void s3c2410_ts_connect(void)
++{
++ s3c2410_gpio_cfgpin(S3C2410_GPG12, S3C2410_GPG12_XMON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG13, S3C2410_GPG13_nXPON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG14, S3C2410_GPG14_YMON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG15, S3C2410_GPG15_nYPON);
++}
++
++static void touch_timer_fire(unsigned long data)
++{
++ unsigned long data0;
++ unsigned long data1;
++ int updown;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN));
++
++ if (updown) {
++ if (ts.count != 0) {
++ ts.xp >>= ts.shift;
++ ts.yp >>= ts.shift;
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ {
++ struct timeval tv;
++ do_gettimeofday(&tv);
++ printk(DEBUG_LVL "T: %06d, X: %03ld, Y: %03ld\n", (int)tv.tv_usec, ts.xp, ts.yp);
++ }
++#endif
++
++ input_report_abs(ts.dev, ABS_X, ts.xp);
++ input_report_abs(ts.dev, ABS_Y, ts.yp);
++
++ input_report_key(ts.dev, BTN_TOUCH, 1);
++ input_report_abs(ts.dev, ABS_PRESSURE, 1);
++ input_sync(ts.dev);
++ }
++
++ ts.xp = 0;
++ ts.yp = 0;
++ ts.count = 0;
++
++ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
++ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
++ } else {
++ ts.count = 0;
++
++ input_report_key(ts.dev, BTN_TOUCH, 0);
++ input_report_abs(ts.dev, ABS_PRESSURE, 0);
++ input_sync(ts.dev);
++
++ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
++ }
++}
++
++static struct timer_list touch_timer =
++ TIMER_INITIALIZER(touch_timer_fire, 0, 0);
++
++static irqreturn_t stylus_updown(int irq, void *dev_id, struct pt_regs *regs)
++{
++ unsigned long data0;
++ unsigned long data1;
++ int updown;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN));
++
++ /* TODO we should never get an interrupt with updown set while
++ * the timer is running, but maybe we ought to verify that the
++ * timer isn't running anyways. */
++
++ if (updown)
++ touch_timer_fire(0);
++
++ return IRQ_HANDLED;
++}
++
++
++static irqreturn_t stylus_action(int irq, void *dev_id, struct pt_regs *regs)
++{
++ unsigned long data0;
++ unsigned long data1;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ ts.xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK;
++ ts.yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK;
++ ts.count++;
++
++ if (ts.count < (1<<ts.shift)) {
++ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
++ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
++ } else {
++ mod_timer(&touch_timer, jiffies+1);
++ writel(WAIT4INT(1), base_addr+S3C2410_ADCTSC);
++ }
++
++ return IRQ_HANDLED;
++}
++
++static struct clk *adc_clock;
++
++/*
++ * The functions for inserting/removing us as a module.
++ */
++
++static int __init s3c2410ts_probe(struct platform_device *pdev)
++{
++ struct s3c2410_ts_mach_info *info;
++ struct input_dev *input_dev;
++
++ info = ( struct s3c2410_ts_mach_info *)pdev->dev.platform_data;
++
++ if (!info)
++ {
++ printk(KERN_ERR "Hm... too bad : no platform data for ts\n");
++ return -EINVAL;
++ }
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ printk(DEBUG_LVL "Entering s3c2410ts_init\n");
++#endif
++
++ adc_clock = clk_get(NULL, "adc");
++ if (!adc_clock) {
++ printk(KERN_ERR "failed to get adc clock source\n");
++ return -ENOENT;
++ }
++ clk_enable(adc_clock);
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ printk(DEBUG_LVL "got and enabled clock\n");
++#endif
++
++ base_addr=ioremap(S3C2410_PA_ADC,0x20);
++ if (base_addr == NULL) {
++ printk(KERN_ERR "Failed to remap register block\n");
++ return -ENOMEM;
++ }
++
++
++ /* Configure GPIOs */
++ s3c2410_ts_connect();
++
++ if ((info->presc&0xff) > 0)
++ writel(S3C2410_ADCCON_PRSCEN | S3C2410_ADCCON_PRSCVL(info->presc&0xFF),\
++ base_addr+S3C2410_ADCCON);
++ else
++ writel(0,base_addr+S3C2410_ADCCON);
++
++
++ /* Initialise registers */
++ if ((info->delay&0xffff) > 0)
++ writel(info->delay & 0xffff, base_addr+S3C2410_ADCDLY);
++
++ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
++
++ /* Initialise input stuff */
++ memset(&ts, 0, sizeof(struct s3c2410ts));
++ input_dev = input_allocate_device();
++
++ if (!input_dev) {
++ printk(KERN_ERR "Unable to allocate the input device !!\n");
++ return -ENOMEM;
++ }
++
++ ts.dev = input_dev;
++ ts.dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS);
++ ts.dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
++ input_set_abs_params(ts.dev, ABS_X, 0, 0x3FF, 0, 0);
++ input_set_abs_params(ts.dev, ABS_Y, 0, 0x3FF, 0, 0);
++ input_set_abs_params(ts.dev, ABS_PRESSURE, 0, 1, 0, 0);
++
++ ts.dev->private = &ts;
++ ts.dev->name = s3c2410ts_name;
++ ts.dev->id.bustype = BUS_RS232;
++ ts.dev->id.vendor = 0xDEAD;
++ ts.dev->id.product = 0xBEEF;
++ ts.dev->id.version = S3C2410TSVERSION;
++
++ ts.shift = info->oversampling_shift;
++
++ /* Get irqs */
++ if (request_irq(IRQ_ADC, stylus_action, SA_SAMPLE_RANDOM,
++ "s3c2410_action", ts.dev)) {
++ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_ADC !\n");
++ iounmap(base_addr);
++ return -EIO;
++ }
++ if (request_irq(IRQ_TC, stylus_updown, SA_SAMPLE_RANDOM,
++ "s3c2410_action", ts.dev)) {
++ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_TC !\n");
++ iounmap(base_addr);
++ return -EIO;
++ }
++
++ printk(KERN_INFO "%s successfully loaded\n", s3c2410ts_name);
++
++ /* All went ok, so register to the input system */
++ input_register_device(ts.dev);
++
++ return 0;
++}
++
++static int s3c2410ts_remove(struct platform_device *pdev)
++{
++ disable_irq(IRQ_ADC);
++ disable_irq(IRQ_TC);
++ free_irq(IRQ_TC,ts.dev);
++ free_irq(IRQ_ADC,ts.dev);
++
++ if (adc_clock) {
++ clk_disable(adc_clock);
++ clk_put(adc_clock);
++ adc_clock = NULL;
++ }
++
++ input_unregister_device(ts.dev);
++ iounmap(base_addr);
++
++ return 0;
++}
++
++static struct platform_driver s3c2410ts_driver = {
++ .driver = {
++ .name = "s3c2410-ts",
++ .owner = THIS_MODULE,
++ },
++ .probe = s3c2410ts_probe,
++ .remove = s3c2410ts_remove,
++};
++
++
++static int __init s3c2410ts_init(void)
++{
++ return platform_driver_register(&s3c2410ts_driver);
++}
++
++static void __exit s3c2410ts_exit(void)
++{
++ platform_driver_unregister(&s3c2410ts_driver);
++}
++
++module_init(s3c2410ts_init);
++module_exit(s3c2410ts_exit);
++
++/*
++ Local variables:
++ compile-command: "make ARCH=arm CROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux- -k -C ../../.."
++ c-basic-offset: 8
++ End:
++*/
+Index: linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h
+===================================================================
+--- linux-2.6.19.orig/include/asm-arm/arch-s3c2410/regs-adc.h
++++ linux-2.6.19/include/asm-arm/arch-s3c2410/regs-adc.h
+@@ -41,7 +41,7 @@
+ #define S3C2410_ADCTSC_XP_SEN (1<<4)
+ #define S3C2410_ADCTSC_PULL_UP_DISABLE (1<<3)
+ #define S3C2410_ADCTSC_AUTO_PST (1<<2)
+-#define S3C2410_ADCTSC_XY_PST (0x3<<0)
++#define S3C2410_ADCTSC_XY_PST(x) (((x)&0x3)<<0)
+
+ /* ADCDAT0 Bits */
+ #define S3C2410_ADCDAT0_UPDOWN (1<<15)
+Index: linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h
+===================================================================
+--- /dev/null
++++ linux-2.6.19/include/asm-arm/arch-s3c2410/ts.h
+@@ -0,0 +1,28 @@
++/* linux/include/asm/arch-s3c2410/ts.h
++ *
++ * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ *
++ * Changelog:
++ * 24-Mar-2005 RTP Created file
++ * 03-Aug-2005 RTP Renamed to ts.h
++ */
++
++#ifndef __ASM_ARM_TS_H
++#define __ASM_ARM_TS_H
++
++struct s3c2410_ts_mach_info {
++ int delay;
++ int presc;
++ int oversampling_shift;
++};
++
++void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info);
++
++#endif /* __ASM_ARM_TS_H */
++
+Index: linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c
+===================================================================
+--- linux-2.6.19.orig/arch/arm/mach-s3c2410/mach-smdk2440.c
++++ linux-2.6.19/arch/arm/mach-s3c2410/mach-smdk2440.c
+@@ -35,6 +35,7 @@
+ #include <asm/arch/regs-serial.h>
+ #include <asm/arch/regs-gpio.h>
+ #include <asm/arch/regs-lcd.h>
++#include <asm/arch/ts.h>
+
+ #include <asm/arch/idle.h>
+ #include <asm/arch/fb.h>
+@@ -177,6 +178,7 @@ static struct platform_device *smdk2440_
+ &s3c_device_wdt,
+ &s3c_device_i2c,
+ &s3c_device_iis,
++ &s3c_device_ts,
+ };
+
+ static struct s3c24xx_board smdk2440_board __initdata = {
+@@ -184,6 +186,12 @@ static struct s3c24xx_board smdk2440_boa
+ .devices_count = ARRAY_SIZE(smdk2440_devices)
+ };
+
++static struct s3c2410_ts_mach_info qt2410_ts_cfg = {
++ .delay = 10000,
++ .presc = 49,
++ .oversampling_shift = 2,
++};
++
+ static void __init smdk2440_map_io(void)
+ {
+ s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
+@@ -195,6 +203,7 @@ static void __init smdk2440_map_io(void)
+ static void __init smdk2440_machine_init(void)
+ {
+ s3c24xx_fb_set_platdata(&smdk2440_lcd_cfg);
++ set_s3c2410ts_info(&qt2410_ts_cfg);
+
+ smdk_machine_init();
+ }
diff --git a/packages/linux/linux-smdk2440_2.6.18.bb b/packages/linux/linux-smdk2440_2.6.19.bb
index 701e08a7c4..039e412919 100644
--- a/packages/linux/linux-smdk2440_2.6.18.bb
+++ b/packages/linux/linux-smdk2440_2.6.19.bb
@@ -5,9 +5,10 @@ PR = "r1"
GGSRC = "http://www.xora.org.uk/oe/patches/"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
${GGSRC}smdk2440-cs89x0-r1.patch;patch=1 \
- ${GGSRC}smdk2440-touchscreen-r1.patch;patch=1 \
+ file://smdk2440-touchscreen-r3.patch;patch=1 \
+ http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.12.6.patch;patch=1 \
file://defconfig-smdk2440"
S = "${WORKDIR}/linux-${PV}"
diff --git a/packages/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb b/packages/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb
index 381900e038..b001763710 100644
--- a/packages/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb
+++ b/packages/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb
@@ -9,7 +9,7 @@ PXAV = "1"
PR = "r5"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.4/linux-${KV}.tar.bz2 \
- http://lorien.handhelds.org/ftp.arm.linux.org.uk/kernel/v2.4/patch-${KV}-rmk${RMKV}.bz2;patch=1 \
+ http://ftp.linux.org.uk/pub/linux/arm/kernel/v2.4/patch-${KV}-rmk${RMKV}.bz2;patch=1 \
file://diff-${KV}-rmk${RMKV}-pxa${PXAV}.gz;patch=1 \
file://mnci-combined.patch;patch=1"