[oe-commits] org.oe.dev merge of '3d37ffd4df7a43763fa8642112a238989e1e85ae'

mickeyl commit oe at amethyst.openembedded.net
Mon Sep 1 17:51:28 UTC 2008


merge of '3d37ffd4df7a43763fa8642112a238989e1e85ae'
     and '5eed113f8f560df1854b52e85453d3987ec071eb'

Author: mickeyl at openembedded.org
Branch: org.openembedded.dev
Revision: a8e634a82c26efbf7bb1487795969c3299da6253
ViewMTN: http://monotone.openembedded.org/revision/info/a8e634a82c26efbf7bb1487795969c3299da6253
Files:
1
site/mips-linux
site/mipsel-linux
files/device_table_add-mmc.txt
files/device_table-collie.txt
packages/images/initramfs-kexec-image.bb
packages/kexecboot/initramfs-kexecboot-image.bb
packages/initrdscripts/initramfs-kexec_1.0.bb
packages/kexecboot/initramfs_kexecboot_1.0.bb
packages/linux/linux-kexecboot-2.6.26
packages/kexecboot/linux-kexecboot-2.6.26
packages/linux/linux-kexecboot.inc
packages/kexecboot/linux-kexecboot.inc
packages/linux/linux-kexecboot_2.6.26.bb
packages/kexecboot/linux-kexecboot_2.6.26.bb
packages/kexecboot
packages/kexecboot/kexecboot_0.3.bb
packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch
packages/kexecboot/linux-kexecboot-2.6.26/collie.patch
packages/kexecboot/linux-kexecboot-2.6.26/collie_keymap.patch
packages/kexecboot/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch
packages/kexecboot/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-akita
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-bootcdx86
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-c7x0
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-collie
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-htcuniversal
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-hx2000
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-poodle
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemuarm
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemux86
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-spitz
packages/kexecboot/linux-kexecboot-2.6.26/defconfig-zylonite
packages/kexecboot/linux-kexecboot-2.6.26/hostap-monitor-mode.patch
packages/kexecboot/linux-kexecboot-2.6.26/hrw-hostapcard.patch
packages/kexecboot/linux-kexecboot-2.6.26/htcuni-acx.patch
packages/kexecboot/linux-kexecboot-2.6.26/htcuni.patch
packages/kexecboot/linux-kexecboot-2.6.26/pxa-serial-hack.patch
packages/kexecboot/linux-kexecboot-2.6.26/pxa_fb_overlay.patch
packages/kexecboot/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
packages/kexecboot/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch
packages/kexecboot/linux-kexecboot-2.6.26/spitz_h_rewrite.patch
packages/kexecboot/linux-kexecboot-2.6.26/versatile-armv6.patch
packages/kexecboot/linux-kexecboot-2.6.26/zaurus-i2c-init.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite-boot.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch
packages/kexecboot/linux-kexecboot-2.6.26/zylonite_touch-r0.patch
conf/distro/include/sane-srcrevs.inc
conf/machine/collie.conf
conf/machine/include/zaurus-2.6.inc
packages/freesmartphone/frameworkd_git.bb
packages/linux/linux-rp-2.6.26/defconfig-collie
packages/otpcalc/otpcalc_0.97.bb
packages/webkit/webkit-gtk/GNUmakefile.am
packages/webkit/webkit-gtk/configure.ac
Diffs:

#
# mt diff -r3d37ffd4df7a43763fa8642112a238989e1e85ae -ra8e634a82c26efbf7bb1487795969c3299da6253
#
#
#
# patch "site/mips-linux"
#  from [6e62c6b2a9dbd94fcd404675ace77e8f072cca30]
#    to [e42e1ecf3d371ff63b016d8802bb5c0ef6f1a688]
# 
# patch "site/mipsel-linux"
#  from [6e62c6b2a9dbd94fcd404675ace77e8f072cca30]
#    to [10c30659ccc13c29d2d29be395d5c9409800880a]
#
============================================================
--- site/mips-linux	6e62c6b2a9dbd94fcd404675ace77e8f072cca30
+++ site/mips-linux	e42e1ecf3d371ff63b016d8802bb5c0ef6f1a688
@@ -49,6 +49,13 @@ glib_cv_va_val_copy=${glib_cv_va_val_cop
 glib_cv_va_copy=${glib_cv_va_copy=yes}
 glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
 
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
+
 # libpcap
 ac_cv_linux_vers=${ac_cv_linux_vers=2}
 ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
@@ -107,16 +114,16 @@ sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10
 # sudo
 sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
 
-#intercom
+# intercom
 ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
 
-#lmbench
+# lmbench
 ac_cv_uint=${ac_cv_unit=yes}
 
 # D-BUS
 ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
 
-#mono
+# mono
 cv_mono_sizeof_sunpath=108
 mono_cv_uscore=${mono_cv_uscore=no}
 
============================================================
--- site/mipsel-linux	6e62c6b2a9dbd94fcd404675ace77e8f072cca30
+++ site/mipsel-linux	10c30659ccc13c29d2d29be395d5c9409800880a
@@ -49,6 +49,13 @@ glib_cv_va_val_copy=${glib_cv_va_val_cop
 glib_cv_va_copy=${glib_cv_va_copy=yes}
 glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
 
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
+
 # libpcap
 ac_cv_linux_vers=${ac_cv_linux_vers=2}
 ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
@@ -107,7 +114,7 @@ sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10
 # sudo
 sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
 
-#intercom
+# intercom
 ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
 
 #lmbench
@@ -116,7 +123,7 @@ ac_cv_func_posix_getpwnam_r=${ac_cv_func
 # D-BUS
 ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
 
-#mono
+# mono
 cv_mono_sizeof_sunpath=108
 mono_cv_uscore=${mono_cv_uscore=no}
 


#
# mt diff -r5eed113f8f560df1854b52e85453d3987ec071eb -ra8e634a82c26efbf7bb1487795969c3299da6253
#
#
#
# rename "files/device_table_add-mmc.txt"
#     to "files/device_table-collie.txt"
# 
# rename "packages/images/initramfs-kexec-image.bb"
#     to "packages/kexecboot/initramfs-kexecboot-image.bb"
# 
# rename "packages/initrdscripts/initramfs-kexec_1.0.bb"
#     to "packages/kexecboot/initramfs_kexecboot_1.0.bb"
# 
# rename "packages/linux/linux-kexecboot-2.6.26"
#     to "packages/kexecboot/linux-kexecboot-2.6.26"
# 
# rename "packages/linux/linux-kexecboot.inc"
#     to "packages/kexecboot/linux-kexecboot.inc"
# 
# rename "packages/linux/linux-kexecboot_2.6.26.bb"
#     to "packages/kexecboot/linux-kexecboot_2.6.26.bb"
# 
# add_dir "packages/kexecboot"
# 
# add_file "packages/kexecboot/kexecboot_0.3.bb"
#  content [0ca1d7664f36aed1936462e2c084e6fb1fcfcece]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch"
#  content [0a9c96315b18cb403f1014aec2038e9477c2db07]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/collie.patch"
#  content [98c325a4a359d1c1486ffc16439210f5f5adb9b6]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/collie_keymap.patch"
#  content [d57618e329b43a114c5a25b5b8bdb408600074ff]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch"
#  content [e7f07c5193600ba480642fd62dcae173b6b62189]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch"
#  content [8ffef06194b29e2b22abed7edb6044a5ad4316d7]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-akita"
#  content [064c36530b213dae882be1b6bb2cbab8615906f8]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-bootcdx86"
#  content [83dbfc0474bb18348ca67718d27d2dcc262095a3]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-c7x0"
#  content [9840eec605b360f4cdcf976973331ce274a89b6f]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-collie"
#  content [89b2f472fb93e5c5cc06598c758a90308c3c0106]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-htcuniversal"
#  content [afcff96c3bba46e09d06200f4431c95fdb419893]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-hx2000"
#  content [8d4023e3a924b2d01a60011c6aa81cca7bc83d06]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-poodle"
#  content [823d2a1579f2e5312396ba4c0d40a7405bcebd4f]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemuarm"
#  content [19a7a240f8a4fd58732db1ccb11767dac8fc7221]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-qemux86"
#  content [8f2d48208eb79e7a2e00941efcaee2cad2d34737]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-spitz"
#  content [121ce2ca2da79de4072c338f63ad9e345f2674bb]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/defconfig-zylonite"
#  content [71cf26b625ad773ac5468869fe7052854759f70f]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/hostap-monitor-mode.patch"
#  content [7b6d1b43c24eb7c1135e018aa8ef42f28f5ded00]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/hrw-hostapcard.patch"
#  content [57f42102146c4908611f21d2fcf3342587c07066]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/htcuni-acx.patch"
#  content [12ac6d8ef90c4bbd6b06a294889b80e6e53aa996]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/htcuni.patch"
#  content [1fadf7843ab2feb14c2465130435b34dab802e70]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/pxa-serial-hack.patch"
#  content [af916d2b2561b14a1e40383de584a3a60110b5e4]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/pxa_fb_overlay.patch"
#  content [585b5ef26c37766ec384c810ab5bd055e44d1e8a]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch"
#  content [dd09cc9eb4d3abd338470eb2a61db0e8faf293cb]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch"
#  content [b6f473089db62d2651b38cd14da388d52cf3f6e1]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/spitz_h_rewrite.patch"
#  content [e027c82b90e2c45a5585e588b58af778b473bd62]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/versatile-armv6.patch"
#  content [9c7b6904ff1559c5c7163733f9b80bf737a5628b]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zaurus-i2c-init.patch"
#  content [e87d480dedb22e40b8be1f27bad9b1b4946c405a]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite-boot.patch"
#  content [e47e2f442bc69d9679debc127d56ce0ad366ed6b]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch"
#  content [7c4b5a7fe857418dd72379aaa883204d069abb8e]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch"
#  content [2be88dd03ad102fe0a6168eb2fa2553841b40aef]
# 
# add_file "packages/kexecboot/linux-kexecboot-2.6.26/zylonite_touch-r0.patch"
#  content [0e1b8affcaa0a0a6688dc9ebcb1945a70414ddb0]
# 
# patch "conf/distro/include/sane-srcrevs.inc"
#  from [728a45d37a508823fda1cfd83bb3650ef5d90e8a]
#    to [e7f1c0d7193f9a530c664aba1c14dd7ffd668f2b]
# 
# patch "conf/machine/collie.conf"
#  from [334ab4b53eea3f3be4a7b39b8fac9412b650aef2]
#    to [92ccb90cdd6b6e8105a05ee7943626bd0409d6ea]
# 
# patch "conf/machine/include/zaurus-2.6.inc"
#  from [8294b7a8b586a8481132e82ee1e468c413001cb9]
#    to [d5af9251eed68a286197deb3a5761113b02bbd2f]
# 
# patch "files/device_table-collie.txt"
#  from [fcb6f461f63fe3444ef486405ff97906d7c7fb9a]
#    to [e9f73e89845d2657398da6a812c4447e45a3cd5d]
# 
# patch "packages/freesmartphone/frameworkd_git.bb"
#  from [ce937c1ef7f7922020eaaabc3f9b59a6444b1544]
#    to [500c5a7db116c70138d4188704cb83417b655625]
# 
# patch "packages/kexecboot/initramfs-kexecboot-image.bb"
#  from [5d39e3585a4b60bb1a3abbb4cb5182e5a43b2e7b]
#    to [49a37389a0b8c994692be3e879add614ff95ceff]
# 
# patch "packages/kexecboot/initramfs_kexecboot_1.0.bb"
#  from [19eebe40da32b895da48037b3aadec5cdda88979]
#    to [824b48b2024b712c5c2be285049697318d6dc372]
# 
# patch "packages/kexecboot/linux-kexecboot.inc"
#  from [b1e9350d2c88928146c9e589e65cb802829b65c1]
#    to [01dd6603a2a2fb2e9c3c56c171153b59ac8ec096]
# 
# patch "packages/linux/linux-rp-2.6.26/defconfig-collie"
#  from [1e9b95a0d88a54777e7f56273ef6fdb091b59ba4]
#    to [7e764ba8612e45c23027e7edc4467de2fbbe0d95]
# 
# patch "packages/otpcalc/otpcalc_0.97.bb"
#  from [53c0c060006d6a65c1ca1f03f90de81b52b1ffd9]
#    to [bcfa78f34255fbf17658a52b3d47a596146ff8d1]
# 
# patch "packages/webkit/webkit-gtk/GNUmakefile.am"
#  from [cd85767a047ac2d58ffd39cb9068ef1ab226d847]
#    to [19d62160616b80e6684d9f8e2adfcb61e13c2c54]
# 
# patch "packages/webkit/webkit-gtk/configure.ac"
#  from [a0b6b788b46f20b4bdcf3b5a8338e7f7353fde1e]
#    to [8689b13d5c83b815d45d8e8981dd8429880906a0]
#
============================================================
--- packages/kexecboot/kexecboot_0.3.bb	0ca1d7664f36aed1936462e2c084e6fb1fcfcece
+++ packages/kexecboot/kexecboot_0.3.bb	0ca1d7664f36aed1936462e2c084e6fb1fcfcece
@@ -0,0 +1,19 @@
+LICENSE = "GPL"
+PR = "r0"
+DEPENDS = "klibc"
+inherit autotools
+
+# You can create your own *-img.h by doing
+# ./make-image-header.sh <file>.png HAND
+
+SRC_URI = "http://projects.linuxtogo.org/frs/download.php/221/kexecboot-${PV}.tar.gz"
+S = "${WORKDIR}/kexecboot-${PV}"
+
+
+export CC=${TARGET_PREFIX}klcc
+
+# standart oe cflags don't work with klcc
+export CFLAGS=""
+export CPPFLAGS=""
+export LDFLAGS=""
+
============================================================
--- packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch	0a9c96315b18cb403f1014aec2038e9477c2db07
+++ packages/kexecboot/linux-kexecboot-2.6.26/binutils-buildid-arm.patch	0a9c96315b18cb403f1014aec2038e9477c2db07
@@ -0,0 +1,16 @@
+---
+ arch/arm/kernel/vmlinux.lds.S |    1 +
+ 1 file changed, 1 insertion(+)
+
+Index: linux-2.6.22/arch/arm/kernel/vmlinux.lds.S
+===================================================================
+--- linux-2.6.22.orig/arch/arm/kernel/vmlinux.lds.S	2007-09-11 18:32:29.000000000 +0200
++++ linux-2.6.22/arch/arm/kernel/vmlinux.lds.S	2007-09-11 18:33:42.000000000 +0200
+@@ -94,6 +94,7 @@
+ 			TEXT_TEXT
+ 			SCHED_TEXT
+ 			LOCK_TEXT
++			*(.note.*)
+ #ifdef CONFIG_MMU
+ 			*(.fixup)
+ #endif
============================================================
--- packages/kexecboot/linux-kexecboot-2.6.26/collie.patch	98c325a4a359d1c1486ffc16439210f5f5adb9b6
+++ packages/kexecboot/linux-kexecboot-2.6.26/collie.patch	98c325a4a359d1c1486ffc16439210f5f5adb9b6
@@ -0,0 +1,1900 @@
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index c7ad324..daa2e0a 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -998,7 +998,7 @@ config CPU_FREQ_SA1100
+ 
+ config CPU_FREQ_SA1110
+ 	bool
+-	depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
++	depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3 || SA1100_COLLIE)
+ 	default y
+ 
+ config CPU_FREQ_INTEGRATOR
+diff --git a/arch/arm/mach-sa1100/dma.c b/arch/arm/mach-sa1100/dma.c
+index e508028..36f726c 100644
+--- a/arch/arm/mach-sa1100/dma.c
++++ b/arch/arm/mach-sa1100/dma.c
+@@ -39,7 +39,7 @@ typedef struct {
+ 
+ static sa1100_dma_t dma_chan[SA1100_DMA_CHANNELS];
+ 
+-static spinlock_t dma_list_lock;
++static  DEFINE_SPINLOCK(dma_list_lock);
+ 
+ 
+ static irqreturn_t dma_irq_handler(int irq, void *dev_id)
+diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c
+index 9caed30..79e19bf 100644
+--- a/drivers/input/keyboard/locomokbd.c
++++ b/drivers/input/keyboard/locomokbd.c
+@@ -265,6 +265,7 @@ static int __devinit locomokbd_probe(struct locomo_dev *dev)
+ 	for (i = 0; i < LOCOMOKBD_NUMKEYS; i++)
+ 		set_bit(locomokbd->keycode[i], input_dev->keybit);
+ 	clear_bit(0, input_dev->keybit);
++	locomo_writel(0, locomokbd->base + LOCOMO_KSC);
+ 
+ 	/* attempt to get the interrupt */
+ 	err = request_irq(dev->irq[0], locomokbd_interrupt, 0, "locomokbd", locomokbd);
+diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
+index 9f93c29..33fc5d6 100644
+--- a/drivers/mfd/Kconfig
++++ b/drivers/mfd/Kconfig
+@@ -72,4 +72,10 @@ config MCP_UCB1200_TS
+ 	tristate "Touchscreen interface support"
+ 	depends on MCP_UCB1200 && INPUT
+ 
++config MCP_COLLIE_TS
++	tristate "Touchscreen collie support"
++	depends on MCP_UCB1200 && INPUT && !MCP_UCB1200_TS
++	 ---help---
++	  Driver for touchscreen on collie - sharp sl-5500.
++
+ endmenu
+diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
+index 33daa2f..0885ccd 100644
+--- a/drivers/mfd/Makefile
++++ b/drivers/mfd/Makefile
+@@ -16,7 +16,7 @@ obj-$(CONFIG_MCP)		+= mcp-core.o
+ obj-$(CONFIG_MCP_SA11X0)	+= mcp-sa11x0.o
+ obj-$(CONFIG_MCP_UCB1200)	+= ucb1x00-core.o
+ obj-$(CONFIG_MCP_UCB1200_TS)	+= ucb1x00-ts.o
+-
++obj-$(CONFIG_MCP_COLLIE_TS)     += collie-ts.o
+ ifeq ($(CONFIG_SA1100_ASSABET),y)
+ obj-$(CONFIG_MCP_UCB1200)	+= ucb1x00-assabet.o
+ endif
+diff --git a/drivers/mfd/collie-ts.c b/drivers/mfd/collie-ts.c
+new file mode 100644
+index 0000000..ddde5fc
+--- /dev/null
++++ b/drivers/mfd/collie-ts.c
+@@ -0,0 +1,449 @@
++/*
++ *  Touchscreen driver for UCB1x00-based touchscreens
++ *
++ *  Copyright (C) 2001 Russell King, All Rights Reserved.
++ *  Copyright (C) 2005 Pavel Machek
++ *
++ * 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.
++ *
++ * 21-Jan-2002 <jco at ict.es> :
++ *
++ * Added support for synchronous A/D mode. This mode is useful to
++ * avoid noise induced in the touchpanel by the LCD, provided that
++ * the UCB1x00 has a valid LCD sync signal routed to its ADCSYNC pin.
++ * It is important to note that the signal connected to the ADCSYNC
++ * pin should provide pulses even when the LCD is blanked, otherwise
++ * a pen touch needed to unblank the LCD will never be read.
++ */
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/init.h>
++#include <linux/smp.h>
++#include <linux/smp_lock.h>
++#include <linux/sched.h>
++#include <linux/completion.h>
++#include <linux/delay.h>
++#include <linux/string.h>
++#include <linux/input.h>
++#include <linux/device.h>
++#include <linux/freezer.h>
++#include <linux/slab.h>
++#include <linux/kthread.h>
++
++#include <asm/dma.h>
++#include <asm/semaphore.h>
++#include <asm/arch/collie.h>
++#include <asm/mach-types.h>
++
++#include "ucb1x00.h"
++
++struct ucb1x00_ts {
++	struct input_dev	*idev;
++	struct ucb1x00		*ucb;
++
++	wait_queue_head_t	irq_wait;
++	struct task_struct	*rtask;
++	u16			x_res;
++	u16			y_res;
++
++	unsigned int		adcsync:1;
++};
++
++static int adcsync;
++
++/**********************************
++
++     ................
++     .              . = 340
++     .              .
++     .             ^.
++     .             ^.
++     .             ^.
++     .             ^.
++     .              .
++     .             X. = 10
++     .  <<<<<<<<  Y .
++     ................
++     .   Sharp    =200
++     .              .
++     .  -   O    -  .
++     .              .
++     ................
++
++**********************************/
++
++
++static inline void ucb1x00_ts_evt_add(struct ucb1x00_ts *ts, u16 pressure, u16 x, u16 y)
++{
++	struct input_dev *idev = ts->idev;
++
++	input_report_abs(idev, ABS_X, x);
++	input_report_abs(idev, ABS_Y, y);
++	input_report_abs(idev, ABS_PRESSURE, pressure);
++        input_report_key(idev, BTN_TOUCH, 1);
++	input_sync(idev);
++}
++
++static inline void ucb1x00_ts_event_release(struct ucb1x00_ts *ts)
++{
++	struct input_dev *idev = ts->idev;
++
++	input_report_abs(idev, ABS_PRESSURE, 0);
++        input_report_key(idev, BTN_TOUCH, 0);
++	input_sync(idev);
++}
++
++/*
++ * Switch to interrupt mode. This set touchscreen to interrupt 
++ * mode, so that chip is able to send interrupt.
++ */
++static inline void ucb1x00_ts_mode_int(struct ucb1x00_ts *ts)
++{
++	ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++			UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW |
++			UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND |
++			UCB_TS_CR_MODE_INT);
++}
++
++/*
++ * Switch to pressure mode, and read pressure.  We don't need to wait
++ * here, since both plates are being driven.
++ *
++ * set_read_pressure() in sharp code
++ */
++static inline void ucb1x00_ts_read_pressure(struct ucb1x00_ts *ts)
++{
++	ucb1x00_io_write(ts->ucb, COLLIE_TC35143_GPIO_TBL_CHK, 0);
++	ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++			  UCB_TS_CR_TSPX_POW | UCB_TS_CR_TSMX_POW |
++			  UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
++
++	ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr | 
++			  UCB_ADC_INP_AD2 | 
++			  UCB_ADC_SYNC_ENA);
++	udelay(100);
++	ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr | 
++			  UCB_ADC_INP_AD2 | 
++			  UCB_ADC_SYNC_ENA | UCB_ADC_START);
++}
++
++/*
++ * Switch to X position mode and measure Y plate.  We switch the plate
++ * configuration in pressure mode, then switch to position mode.  This
++ * gives a faster response time.  Even so, we need to wait about 55us
++ * for things to stabilise.
++ */
++static inline void ucb1x00_ts_read_xpos(struct ucb1x00_ts *ts)
++{
++	ucb1x00_io_write(ts->ucb, 0, COLLIE_TC35143_GPIO_TBL_CHK);
++	ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++			UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
++			UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
++
++
++	ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr | 
++			  UCB_ADC_INP_TSPY | UCB_ADC_SYNC_ENA);
++	udelay(100);
++	ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr | 
++			  UCB_ADC_INP_TSPY | UCB_ADC_SYNC_ENA | 
++		 	  UCB_ADC_START);
++}
++
++/*
++ * Switch to Y position mode and measure X plate.  We switch the plate
++ * configuration in pressure mode, then switch to position mode.  This
++ * gives a faster response time.  Even so, we need to wait about 55us
++ * for things to stabilise.
++ */
++static inline void ucb1x00_ts_read_ypos(struct ucb1x00_ts *ts)
++{
++	ucb1x00_io_write(ts->ucb, 0, COLLIE_TC35143_GPIO_TBL_CHK);
++
++	ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
++			UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
++			UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
++
++
++	ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr | 
++			  UCB_ADC_INP_TSPX | UCB_ADC_SYNC_ENA);
++	udelay(100);
++	ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
++			  UCB_ADC_INP_TSPX | UCB_ADC_SYNC_ENA | 
++			  UCB_ADC_START);
++}
++%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list