summaryrefslogtreecommitdiffstats
path: root/meta/packages/linux
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-01-01 10:39:58 +0000
committerRichard Purdie <richard@openedhand.com>2008-01-01 10:39:58 +0000
commita1ffa5a168286e939d8a92ffa62f698e8c6bfc95 (patch)
treefb180a69297e5d5b636c096ef61236f58c1b68c7 /meta/packages/linux
parentf217220fd5faebd1d746084e6e9d302c64916996 (diff)
downloadpoky-a1ffa5a168286e939d8a92ffa62f698e8c6bfc95.tar.gz
linux-rp-2.6.23: Make qemuarm and qemux86 use 2.6.23, sync .bb file with OE for poodle and tosa changes.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3394 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/linux')
-rw-r--r--meta/packages/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch17
-rw-r--r--meta/packages/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch31
-rw-r--r--meta/packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch208
-rw-r--r--meta/packages/linux/linux-rp_2.6.23.bb41
4 files changed, 74 insertions, 223 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch b/meta/packages/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch
new file mode 100644
index 0000000000..b5439c62e7
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch
@@ -0,0 +1,17 @@
1Index: linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c
2===================================================================
3--- linux-2.6.21.orig/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:45:39.000000000 +0100
4+++ linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:47:30.000000000 +0100
5@@ -2666,6 +2666,12 @@
6 iface = netdev_priv(dev);
7 local = iface->local;
8
9+ if(dev->base_addr == 0)
10+ {
11+ printk(KERN_DEBUG "%s: IRQ before base_addr set\n", dev->name);
12+ return IRQ_HANDLED;
13+ }
14+
15 prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INTERRUPT, 0, 0);
16
17 if (local->func->card_present && !local->func->card_present(local)) {
diff --git a/meta/packages/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch b/meta/packages/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch
new file mode 100644
index 0000000000..222ad57bef
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch
@@ -0,0 +1,31 @@
1From: Marcin Juszkiewicz <openembedded@haerwu.biz>
2
3Linksys WCF11 submitted by Ångström user.
4
5"The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P", "RevA",
60xa5f472c2, 0x9c05598d, 0xc9049a39, 0x57a66194
7manfid: 0x0274, 0x3301
8
9Signed-off-by: Marcin Juszkiewicz <openembedded@haerwu.biz>
10Acked-by: Pavel Roskin <proski@gnu.org>
11
12---
13 drivers/net/wireless/hostap/hostap_cs.c | 3 +++
14 1 file changed, 3 insertions(+)
15
16--- linux-2.6.23.orig/drivers/net/wireless/hostap/hostap_cs.c
17+++ linux-2.6.23/drivers/net/wireless/hostap/hostap_cs.c
18@@ -887,10 +887,13 @@ static struct pcmcia_device_id hostap_cs
19 "Ver. 1.00",
20 0x5cd01705, 0x4271660f, 0x9d08ee12),
21 PCMCIA_DEVICE_PROD_ID123(
22 "corega", "WL PCCL-11", "ISL37300P",
23 0xa21501a, 0x59868926, 0xc9049a39),
24+ PCMCIA_DEVICE_PROD_ID1234(
25+ "The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P",
26+ 0xa5f472c2, 0x9c05598d, 0xc9049a39),
27 PCMCIA_DEVICE_NULL
28 };
29 MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
30
31
diff --git a/meta/packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch b/meta/packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch
deleted file mode 100644
index 191de3af22..0000000000
--- a/meta/packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch
+++ /dev/null
@@ -1,208 +0,0 @@
1Index: linux-tosa/drivers/input/touchscreen/wm9712.c
2===================================================================
3--- linux-tosa.orig/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:36.008543280 +0100
4+++ linux-tosa/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:50.923275896 +0100
5@@ -1,7 +1,7 @@
6 /*
7 * wm9712.c -- Codec driver for Wolfson WM9712 AC97 Codecs.
8 *
9- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
10+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
11 * Author: Liam Girdwood
12 * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
13 * Parts Copyright : Ian Molton <spyro@f2s.com>
14@@ -13,6 +13,12 @@
15 * Free Software Foundation; either version 2 of the License, or (at your
16 * option) any later version.
17 *
18+ * Revision history
19+ * 4th Jul 2005 Initial version.
20+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
21+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
22+ * touchscreen interference.
23+ *
24 */
25
26 #include <linux/module.h>
27@@ -28,6 +34,10 @@
28 #define WM9705_VERSION "0.60"
29 #define DEFAULT_PRESSURE 0xb0c0
30
31+#define CCNT(a) asm volatile ("mrc p14, 0, %0, C1, C1, 0" : "=r"(a))
32+#define CCNT_ON() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
33+#define CCNT_OFF() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
34+
35 /*
36 * Debug
37 */
38@@ -243,6 +253,36 @@
39 return wm->dig[2] & WM9712_PDEN;
40 }
41
42+
43+#ifdef CONFIG_MACH_TOSA
44+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
45+ * before sampling the Y axis of the touchscreen */
46+static inline void wm9712_lcd_sync_on(struct wm97xx* wm, int adcsel) {
47+ unsigned long timer1 = 0, timer2 = 0, wait_time = 0;
48+ if (adcsel == WM97XX_ADCSEL_Y) {
49+ wait_time = wm97xx_calc_lcd_waittime(wm);
50+
51+ CCNT_ON();
52+
53+ if (wait_time) {
54+ /* wait for LCD rising edge */
55+ wm_machinfo->wait_hsync();
56+ /* get clock */
57+ CCNT(timer1);
58+ CCNT(timer2);
59+
60+ while ((timer2 - timer1) < wait_time) {
61+ CCNT(timer2);
62+ }
63+ }
64+ }
65+}
66+
67+static inline void wm9712_lcd_sync_off(void) {
68+ CCNT_OFF();
69+}
70+#endif
71+
72 /*
73 * Read a sample from the WM9712 adc in polling mode.
74 */
75@@ -260,6 +300,9 @@
76 /* set up digitiser */
77 if (adcsel & 0x8000)
78 adcsel = ((adcsel & 0x7fff) + 3) << 12;
79+ #ifdef CONFIG_MACH_TOSA
80+ wm9712_lcd_sync_on(wm, adcsel);
81+ #endif
82 wm97xx_reg_write(wm, AC97_WM97XX_DIGITISER1, adcsel | WM97XX_POLL | WM97XX_DELAY(delay));
83
84 /* wait 3 AC97 time slots + delay for conversion */
85@@ -282,6 +325,10 @@
86
87 *sample = wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER_RD);
88
89+ #ifdef CONFIG_MACH_TOSA
90+ wm9712_lcd_sync_off();
91+ #endif
92+
93 /* check we have correct sample */
94 if ((*sample & WM97XX_ADCSEL_MASK) != adcsel) {
95 dbg ("adc wrong sample, read %x got %x", adcsel,
96@@ -303,11 +350,12 @@
97 static int wm9712_poll_touch(struct wm97xx* wm, struct wm97xx_data *data)
98 {
99 int rc;
100-
101 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_X, &data->x)) != RC_VALID)
102 return rc;
103+
104 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_Y, &data->y)) != RC_VALID)
105 return rc;
106+
107 if (pil && !five_wire) {
108 if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_PRES, &data->p)) != RC_VALID)
109 return rc;
110Index: linux-tosa/drivers/input/touchscreen/wm97xx-core.c
111===================================================================
112--- linux-tosa.orig/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:36.008543280 +0100
113+++ linux-tosa/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:50.924275744 +0100
114@@ -2,7 +2,7 @@
115 * wm97xx-core.c -- Touch screen driver core for Wolfson WM9705, WM9712
116 * and WM9713 AC97 Codecs.
117 *
118- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
119+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
120 * Author: Liam Girdwood
121 * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
122 * Parts Copyright : Ian Molton <spyro@f2s.com>
123@@ -67,6 +67,9 @@
124 * GPIOs) and 2.6 power management.
125 * 29th Nov 2004 Added WM9713 support.
126 * 4th Jul 2005 Moved codec specific code out to seperate files.
127+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
128+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
129+ * touchscreen interference.
130 */
131
132 #include <linux/module.h>
133@@ -94,6 +97,7 @@
134 static DECLARE_MUTEX(gpio_sem);
135 static LIST_HEAD(wm97xx_misc_list);
136 static struct wm97xx* wm_codec = NULL;
137+struct wm97xx_machinfo *wm_machinfo;
138
139 /*
140 * WM97xx - enable/disable AUX ADC sysfs
141@@ -832,6 +836,23 @@
142 mdev->remove(wm_codec);
143 }
144
145+#ifdef CONFIG_MACH_TOSA
146+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
147+ * before sampling the Y axis of the touchscreen */
148+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm) {
149+ unsigned long hsync_time = wm_machinfo->get_hsync_time();
150+ return hsync_time;
151+}
152+
153+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo) {
154+ wm_machinfo = machinfo;
155+}
156+
157+void wm97xx_unset_machinfo() {
158+ wm_machinfo = NULL;
159+}
160+#endif
161+
162 static struct device_driver wm97xx_driver = {
163 .name = "ac97",
164 .bus = &ac97_bus_type,
165@@ -861,6 +882,9 @@
166 EXPORT_SYMBOL_GPL(wm97xx_reg_write);
167 EXPORT_SYMBOL_GPL(wm97xx_register_misc_dev);
168 EXPORT_SYMBOL_GPL(wm97xx_unregister_misc_dev);
169+EXPORT_SYMBOL_GPL(wm97xx_calc_lcd_waittime);
170+EXPORT_SYMBOL_GPL(wm97xx_set_machinfo);
171+EXPORT_SYMBOL_GPL(wm97xx_unset_machinfo);
172
173 module_init(wm97xx_init);
174 module_exit(wm97xx_exit);
175Index: linux-tosa/include/linux/wm97xx.h
176===================================================================
177--- linux-tosa.orig/include/linux/wm97xx.h 2006-08-29 16:52:36.008543280 +0100
178+++ linux-tosa/include/linux/wm97xx.h 2006-08-29 16:52:50.924275744 +0100
179@@ -207,6 +207,7 @@
180
181 struct wm97xx;
182 extern struct wm97xx_codec_drv wm97xx_codec;
183+extern struct wm97xx_machinfo *wm_machinfo;
184
185 /*
186 * Codec driver interface - allows mapping to WM9705/12/13 and newer codecs
187@@ -253,6 +254,11 @@
188 struct list_head list;
189 };
190
191+struct wm97xx_machinfo {
192+ unsigned long (*get_hsync_time)(void);
193+ void (*wait_hsync)(void);
194+};
195+
196 int wm97xx_register_misc_dev(struct wm97xx_misc_dev* mdev);
197 void wm97xx_unregister_misc_dev(struct wm97xx_misc_dev* mdev);
198
199@@ -281,4 +287,9 @@
200 int wm97xx_acc_startup(struct wm97xx* wm);
201 void wm97xx_acc_shutdown(struct wm97xx* wm);
202
203+
204+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm);
205+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo);
206+void wm97xx_unset_machinfo(void);
207+
208 #endif
diff --git a/meta/packages/linux/linux-rp_2.6.23.bb b/meta/packages/linux/linux-rp_2.6.23.bb
index 774e703c12..2614c80f88 100644
--- a/meta/packages/linux/linux-rp_2.6.23.bb
+++ b/meta/packages/linux/linux-rp_2.6.23.bb
@@ -1,9 +1,6 @@
1require linux-rp.inc 1require linux-rp.inc
2 2
3PR = "r9" 3PR = "r20"
4
5DEFAULT_PREFERENCE_qemuarm = "-1"
6DEFAULT_PREFERENCE_qemux86 = "-1"
7 4
8# Handy URLs 5# Handy URLs
9# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046 6# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
@@ -17,6 +14,7 @@ DEFAULT_PREFERENCE_qemux86 = "-1"
17# Patches submitted upstream are towards top of this list 14# Patches submitted upstream are towards top of this list
18# Hacks should clearly named and at the bottom 15# Hacks should clearly named and at the bottom
19SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \ 16SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
17 file://hrw-add-wcf11-to-hostap.patch;patch=1;status=pending \
20 ${RPSRC}/lzo_jffs2-r3.patch;patch=1 \ 18 ${RPSRC}/lzo_jffs2-r3.patch;patch=1 \
21 ${RPSRC}/lzo_crypto-r2.patch;patch=1 \ 19 ${RPSRC}/lzo_crypto-r2.patch;patch=1 \
22 ${RPSRC}/lzo_jffs2_lzomode-r1.patch;patch=1 \ 20 ${RPSRC}/lzo_jffs2_lzomode-r1.patch;patch=1 \
@@ -42,6 +40,8 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
42 ${RPSRC}/export_atags-r0.patch;patch=1 \ 40 ${RPSRC}/export_atags-r0.patch;patch=1 \
43 ${RPSRC}/pxa25x_suspend_fixes-r0.patch;patch=1 \ 41 ${RPSRC}/pxa25x_suspend_fixes-r0.patch;patch=1 \
44 ${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \ 42 ${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \
43 ${RPSRC}/poodle_asoc_fix-r1.patch;patch=1 \
44 ${RPSRC}/locomo_led_fix-r0.patch;patch=1 \
45 file://w100fb-unused-var.patch;patch=1 \ 45 file://w100fb-unused-var.patch;patch=1 \
46 file://hostap-monitor-mode.patch;patch=1 \ 46 file://hostap-monitor-mode.patch;patch=1 \
47 file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \ 47 file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
@@ -54,6 +54,7 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
54 ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \ 54 ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
55 file://pxa-serial-hack.patch;patch=1;status=hack \ 55 file://pxa-serial-hack.patch;patch=1;status=hack \
56 file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \ 56 file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
57 file://connectplus-prevent-oops-HACK.patch;patch=1;status=hack \
57 file://squashfs3.0-2.6.15.patch;patch=1;status=external \ 58 file://squashfs3.0-2.6.15.patch;patch=1;status=external \
58 file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=external \ 59 file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=external \
59 file://htcuni.patch;patch=1 \ 60 file://htcuni.patch;patch=1 \
@@ -74,7 +75,6 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
74# FIXMEs before made default 75# FIXMEs before made default
75# ${RPSRC}/mmcsd_no_scr_check-r1.patch;patch=1;status=hack 76# ${RPSRC}/mmcsd_no_scr_check-r1.patch;patch=1;status=hack
76 77
77
78# Add this to enable pm debug code (useful with a serial lead) 78# Add this to enable pm debug code (useful with a serial lead)
79# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1 79# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1
80 80
@@ -97,27 +97,38 @@ SRC_URI_append_collie = "\
97# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \ 97# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \
98" 98"
99 99
100SRC_URI_append_poodle = "\
101 ${RPSRC}/poodle_serial_vcc-r0.patch;patch=1 \
102"
103
100SRC_URI_append_tosa = "\ 104SRC_URI_append_tosa = "\
101 ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \
102 ${CHSRC}/tmio-core-r4.patch;patch=1 \ 105 ${CHSRC}/tmio-core-r4.patch;patch=1 \
103 file://tmio-tc6393-r8.patch;patch=1 \ 106 file://tmio-tc6393-r8.patch;patch=1 \
104 file://tmio-nand-r7.patch;patch=1 \ 107 file://tmio-nand-r8.patch;patch=1 \
105 file://tmio-ohci-r6.patch;patch=1 \
106 ${CHSRC}/tmio-fb-r6.patch;patch=1 \ 108 ${CHSRC}/tmio-fb-r6.patch;patch=1 \
107 file://tosa-keyboard-r18.patch;patch=1 \ 109 file://tmio-fb-r6-fix-r0.patch;patch=1 \
110 file://tosa-keyboard-r19.patch;patch=1 \
108 ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \ 111 ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
112 file://tosa-pxaac97-r6-fix-r0.patch;patch=1 \
109 ${DOSRC}/tosa-tmio-r6.patch;patch=1 \ 113 ${DOSRC}/tosa-tmio-r6.patch;patch=1 \
110 ${DOSRC}/tosa-power-r17.patch;patch=1 \ 114 file://tosa-power-r18.patch;patch=1 \
115 file://tosa-power-r18-fix-r0.patch;patch=1 \
111 file://tosa-tmio-lcd-r10.patch;patch=1 \ 116 file://tosa-tmio-lcd-r10.patch;patch=1 \
112 ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \ 117 file://tosa-tmio-lcd-r10-fix-r0.patch;patch=1 \
113 ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \ 118 file://tosa-bluetooth-r8.patch;patch=1 \
119 file://wm97xx-lg13-r0.patch;patch=1 \
120 file://wm97xx-lg13-r0-fix-r0.patch;patch=1 \
114 file://wm9712-suspend-cold-res-r2.patch;patch=1 \ 121 file://wm9712-suspend-cold-res-r2.patch;patch=1 \
115 file://sharpsl-pm-postresume-r1.patch;patch=1 \ 122 file://sharpsl-pm-postresume-r1.patch;patch=1 \
116 ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
117 ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
118 file://wm9712-reset-loop-r2.patch;patch=1 \ 123 file://wm9712-reset-loop-r2.patch;patch=1 \
119 file://tosa-lcdnoise-r1.patch;patch=1 \ 124 file://tosa-lcdnoise-r1.patch;patch=1 \
120 file://wm97xx-lcdnoise-r0.patch;patch=1 " 125 file://tosa-lcdnoise-r1-fix-r0.patch;patch=1 \
126 file://arm-dma-coherent.patch;patch=1 \
127 file://usb-ohci-hooks-r3.patch;patch=1 \
128 file://tmio-ohci-r9.patch;patch=1 \
129 file://pxa2xx_udc_support_inverse_vbus.patch;patch=1 \
130 file://tosa_udc_use_gpio_vbus.patch;patch=1 \
131 "
121# ${DOSRC}/tosa-asoc-r1.patch;patch=1 " 132# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
122 133
123SRC_URI_append_htcuniversal ="\ 134SRC_URI_append_htcuniversal ="\