linux-rp: Tidy up .bb file and clean up unused patches

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3557 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2008-01-20 17:03:32 +00:00
parent 388339b8f6
commit 53d19e1c1f
22 changed files with 3688 additions and 18130 deletions

View File

@ -0,0 +1,17 @@
Index: linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c
===================================================================
--- linux-2.6.21.orig/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:45:39.000000000 +0100
+++ linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:47:30.000000000 +0100
@@ -2666,6 +2666,12 @@
iface = netdev_priv(dev);
local = iface->local;
+ if(dev->base_addr == 0)
+ {
+ printk(KERN_DEBUG "%s: IRQ before base_addr set\n", dev->name);
+ return IRQ_HANDLED;
+ }
+
prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INTERRUPT, 0, 0);
if (local->func->card_present && !local->func->card_present(local)) {

View File

@ -1,29 +0,0 @@
---
drivers/mmc/core/sd.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
Index: linux-2.6.23/drivers/mmc/core/sd.c
===================================================================
--- linux-2.6.23.orig/drivers/mmc/core/sd.c 2007-10-17 11:33:26.000000000 +0200
+++ linux-2.6.23/drivers/mmc/core/sd.c 2007-10-17 11:33:49.000000000 +0200
@@ -173,14 +173,15 @@
scr_struct = UNSTUFF_BITS(resp, 60, 4);
if (scr_struct != 0) {
- printk(KERN_ERR "%s: unrecognised SCR structure version %d\n",
+ printk(KERN_WARNING "%s: unrecognised SCR structure version %d\n",
mmc_hostname(card->host), scr_struct);
- return -EINVAL;
+ scr->sda_vsn = 0;
+ scr->bus_widths = 0;
+ } else {
+ scr->sda_vsn = UNSTUFF_BITS(resp, 56, 4);
+ scr->bus_widths = UNSTUFF_BITS(resp, 48, 4);
}
- scr->sda_vsn = UNSTUFF_BITS(resp, 56, 4);
- scr->bus_widths = UNSTUFF_BITS(resp, 48, 4);
-
return 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +0,0 @@
---
drivers/char/vt_ioctl.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
Index: linux-2.6.22/drivers/char/vt_ioctl.c
===================================================================
--- linux-2.6.22.orig/drivers/char/vt_ioctl.c 2007-07-09 01:32:17.000000000 +0200
+++ linux-2.6.22/drivers/char/vt_ioctl.c 2007-09-27 11:58:42.000000000 +0200
@@ -770,6 +770,7 @@
/*
* Switching-from response
*/
+ acquire_console_sem();
if (vc->vt_newvt >= 0) {
if (arg == 0)
/*
@@ -784,7 +785,6 @@
* complete the switch.
*/
int newvt;
- acquire_console_sem();
newvt = vc->vt_newvt;
vc->vt_newvt = -1;
i = vc_allocate(newvt);
@@ -798,7 +798,6 @@
* other console switches..
*/
complete_change_console(vc_cons[newvt].d);
- release_console_sem();
}
}
@@ -810,9 +809,12 @@
/*
* If it's just an ACK, ignore it
*/
- if (arg != VT_ACKACQ)
+ if (arg != VT_ACKACQ) {
+ release_console_sem();
return -EINVAL;
+ }
}
+ release_console_sem();
return 0;

View File

@ -1,17 +0,0 @@
From: Marcin Juszkiewicz <openembedded@haerwu.biz>
drivers/video/w100fb.c: In function w100fb_imageblit:
drivers/video/w100fb.c:507: warning: unused variable par
Signed-off-by: Marcin Juszkiewicz <openembedded@haerwu.biz>
--- linux-2.6.23/drivers/video/w100fb.c 2007-10-11 16:52:30.000000000 +0200
+++ linux-2.6.23/drivers/video/w100fb.c 2007-10-15 12:56:01.000000000 +0200
@@ -504,7 +504,6 @@ static void w100_hostdata(u32 width, u32
static void w100fb_imageblit(struct fb_info *info,
const struct fb_image *image)
{
- struct w100fb_par *par = info->par;
union dp_gui_master_cntl_u gmc;
u32 fgcolor, bgcolor;

View File

@ -1,208 +0,0 @@
Index: linux-tosa/drivers/input/touchscreen/wm9712.c
===================================================================
--- linux-tosa.orig/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:36.008543280 +0100
+++ linux-tosa/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:50.923275896 +0100
@@ -1,7 +1,7 @@
/*
* wm9712.c -- Codec driver for Wolfson WM9712 AC97 Codecs.
*
- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
* Author: Liam Girdwood
* liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
* Parts Copyright : Ian Molton <spyro@f2s.com>
@@ -13,6 +13,12 @@
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
+ * Revision history
+ * 4th Jul 2005 Initial version.
+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
+ * touchscreen interference.
+ *
*/
#include <linux/module.h>
@@ -28,6 +34,10 @@
#define WM9705_VERSION "0.60"
#define DEFAULT_PRESSURE 0xb0c0
+#define CCNT(a) asm volatile ("mrc p14, 0, %0, C1, C1, 0" : "=r"(a))
+#define CCNT_ON() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
+#define CCNT_OFF() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1))
+
/*
* Debug
*/
@@ -243,6 +253,36 @@
return wm->dig[2] & WM9712_PDEN;
}
+
+#ifdef CONFIG_MACH_TOSA
+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
+ * before sampling the Y axis of the touchscreen */
+static inline void wm9712_lcd_sync_on(struct wm97xx* wm, int adcsel) {
+ unsigned long timer1 = 0, timer2 = 0, wait_time = 0;
+ if (adcsel == WM97XX_ADCSEL_Y) {
+ wait_time = wm97xx_calc_lcd_waittime(wm);
+
+ CCNT_ON();
+
+ if (wait_time) {
+ /* wait for LCD rising edge */
+ wm_machinfo->wait_hsync();
+ /* get clock */
+ CCNT(timer1);
+ CCNT(timer2);
+
+ while ((timer2 - timer1) < wait_time) {
+ CCNT(timer2);
+ }
+ }
+ }
+}
+
+static inline void wm9712_lcd_sync_off(void) {
+ CCNT_OFF();
+}
+#endif
+
/*
* Read a sample from the WM9712 adc in polling mode.
*/
@@ -260,6 +300,9 @@
/* set up digitiser */
if (adcsel & 0x8000)
adcsel = ((adcsel & 0x7fff) + 3) << 12;
+ #ifdef CONFIG_MACH_TOSA
+ wm9712_lcd_sync_on(wm, adcsel);
+ #endif
wm97xx_reg_write(wm, AC97_WM97XX_DIGITISER1, adcsel | WM97XX_POLL | WM97XX_DELAY(delay));
/* wait 3 AC97 time slots + delay for conversion */
@@ -282,6 +325,10 @@
*sample = wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER_RD);
+ #ifdef CONFIG_MACH_TOSA
+ wm9712_lcd_sync_off();
+ #endif
+
/* check we have correct sample */
if ((*sample & WM97XX_ADCSEL_MASK) != adcsel) {
dbg ("adc wrong sample, read %x got %x", adcsel,
@@ -303,11 +350,12 @@
static int wm9712_poll_touch(struct wm97xx* wm, struct wm97xx_data *data)
{
int rc;
-
if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_X, &data->x)) != RC_VALID)
return rc;
+
if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_Y, &data->y)) != RC_VALID)
return rc;
+
if (pil && !five_wire) {
if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_PRES, &data->p)) != RC_VALID)
return rc;
Index: linux-tosa/drivers/input/touchscreen/wm97xx-core.c
===================================================================
--- linux-tosa.orig/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:36.008543280 +0100
+++ linux-tosa/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:50.924275744 +0100
@@ -2,7 +2,7 @@
* wm97xx-core.c -- Touch screen driver core for Wolfson WM9705, WM9712
* and WM9713 AC97 Codecs.
*
- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC.
+ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC.
* Author: Liam Girdwood
* liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com
* Parts Copyright : Ian Molton <spyro@f2s.com>
@@ -67,6 +67,9 @@
* GPIOs) and 2.6 power management.
* 29th Nov 2004 Added WM9713 support.
* 4th Jul 2005 Moved codec specific code out to seperate files.
+ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk>
+ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing
+ * touchscreen interference.
*/
#include <linux/module.h>
@@ -94,6 +97,7 @@
static DECLARE_MUTEX(gpio_sem);
static LIST_HEAD(wm97xx_misc_list);
static struct wm97xx* wm_codec = NULL;
+struct wm97xx_machinfo *wm_machinfo;
/*
* WM97xx - enable/disable AUX ADC sysfs
@@ -832,6 +836,23 @@
mdev->remove(wm_codec);
}
+#ifdef CONFIG_MACH_TOSA
+/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait
+ * before sampling the Y axis of the touchscreen */
+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm) {
+ unsigned long hsync_time = wm_machinfo->get_hsync_time();
+ return hsync_time;
+}
+
+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo) {
+ wm_machinfo = machinfo;
+}
+
+void wm97xx_unset_machinfo() {
+ wm_machinfo = NULL;
+}
+#endif
+
static struct device_driver wm97xx_driver = {
.name = "ac97",
.bus = &ac97_bus_type,
@@ -861,6 +882,9 @@
EXPORT_SYMBOL_GPL(wm97xx_reg_write);
EXPORT_SYMBOL_GPL(wm97xx_register_misc_dev);
EXPORT_SYMBOL_GPL(wm97xx_unregister_misc_dev);
+EXPORT_SYMBOL_GPL(wm97xx_calc_lcd_waittime);
+EXPORT_SYMBOL_GPL(wm97xx_set_machinfo);
+EXPORT_SYMBOL_GPL(wm97xx_unset_machinfo);
module_init(wm97xx_init);
module_exit(wm97xx_exit);
Index: linux-tosa/include/linux/wm97xx.h
===================================================================
--- linux-tosa.orig/include/linux/wm97xx.h 2006-08-29 16:52:36.008543280 +0100
+++ linux-tosa/include/linux/wm97xx.h 2006-08-29 16:52:50.924275744 +0100
@@ -207,6 +207,7 @@
struct wm97xx;
extern struct wm97xx_codec_drv wm97xx_codec;
+extern struct wm97xx_machinfo *wm_machinfo;
/*
* Codec driver interface - allows mapping to WM9705/12/13 and newer codecs
@@ -253,6 +254,11 @@
struct list_head list;
};
+struct wm97xx_machinfo {
+ unsigned long (*get_hsync_time)(void);
+ void (*wait_hsync)(void);
+};
+
int wm97xx_register_misc_dev(struct wm97xx_misc_dev* mdev);
void wm97xx_unregister_misc_dev(struct wm97xx_misc_dev* mdev);
@@ -281,4 +287,9 @@
int wm97xx_acc_startup(struct wm97xx* wm);
void wm97xx_acc_shutdown(struct wm97xx* wm);
+
+unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm);
+void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo);
+void wm97xx_unset_machinfo(void);
+
#endif

View File

@ -1,29 +0,0 @@
---
drivers/mmc/core/sd.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
Index: linux-2.6.23/drivers/mmc/core/sd.c
===================================================================
--- linux-2.6.23.orig/drivers/mmc/core/sd.c 2007-10-17 11:33:26.000000000 +0200
+++ linux-2.6.23/drivers/mmc/core/sd.c 2007-10-17 11:33:49.000000000 +0200
@@ -173,14 +173,15 @@
scr_struct = UNSTUFF_BITS(resp, 60, 4);
if (scr_struct != 0) {
- printk(KERN_ERR "%s: unrecognised SCR structure version %d\n",
+ printk(KERN_WARNING "%s: unrecognised SCR structure version %d\n",
mmc_hostname(card->host), scr_struct);
- return -EINVAL;
+ scr->sda_vsn = 0;
+ scr->bus_widths = 0;
+ } else {
+ scr->sda_vsn = UNSTUFF_BITS(resp, 56, 4);
+ scr->bus_widths = UNSTUFF_BITS(resp, 48, 4);
}
- scr->sda_vsn = UNSTUFF_BITS(resp, 56, 4);
- scr->bus_widths = UNSTUFF_BITS(resp, 48, 4);
-
return 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
---
arch/arm/mm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- linux-2.6.23.orig/arch/arm/mm/Kconfig
+++ linux-2.6.23/arch/arm/mm/Kconfig
@@ -343,11 +343,11 @@ config CPU_XSC3
select IO_36
# ARMv6
config CPU_V6
bool "Support ARM V6 processor"
- depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP2 || ARCH_MX3
+ depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP2 || ARCH_MX3 || ARCH_VERSATILE_PB
default y if ARCH_MX3
select CPU_32v6
select CPU_ABRT_EV6
select CPU_CACHE_V6
select CPU_CACHE_VIPT

View File

@ -1,46 +0,0 @@
---
drivers/char/vt_ioctl.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
Index: linux-2.6.22/drivers/char/vt_ioctl.c
===================================================================
--- linux-2.6.22.orig/drivers/char/vt_ioctl.c 2007-07-09 01:32:17.000000000 +0200
+++ linux-2.6.22/drivers/char/vt_ioctl.c 2007-09-27 11:58:42.000000000 +0200
@@ -770,6 +770,7 @@
/*
* Switching-from response
*/
+ acquire_console_sem();
if (vc->vt_newvt >= 0) {
if (arg == 0)
/*
@@ -784,7 +785,6 @@
* complete the switch.
*/
int newvt;
- acquire_console_sem();
newvt = vc->vt_newvt;
vc->vt_newvt = -1;
i = vc_allocate(newvt);
@@ -798,7 +798,6 @@
* other console switches..
*/
complete_change_console(vc_cons[newvt].d);
- release_console_sem();
}
}
@@ -810,9 +809,12 @@
/*
* If it's just an ACK, ignore it
*/
- if (arg != VT_ACKACQ)
+ if (arg != VT_ACKACQ) {
+ release_console_sem();
return -EINVAL;
+ }
}
+ release_console_sem();
return 0;

View File

@ -1,17 +0,0 @@
From: Marcin Juszkiewicz <openembedded@haerwu.biz>
drivers/video/w100fb.c: In function w100fb_imageblit:
drivers/video/w100fb.c:507: warning: unused variable par
Signed-off-by: Marcin Juszkiewicz <openembedded@haerwu.biz>
--- linux-2.6.23/drivers/video/w100fb.c 2007-10-11 16:52:30.000000000 +0200
+++ linux-2.6.23/drivers/video/w100fb.c 2007-10-15 12:56:01.000000000 +0200
@@ -504,7 +504,6 @@ static void w100_hostdata(u32 width, u32
static void w100fb_imageblit(struct fb_info *info,
const struct fb_image *image)
{
- struct w100fb_par *par = info->par;
union dp_gui_master_cntl_u gmc;
u32 fgcolor, bgcolor;

View File

@ -0,0 +1,44 @@
sound/soc/codecs/wm9712.c | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
Index: git/sound/soc/codecs/wm9712.c
===================================================================
--- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 22:10:01.000000000 +0000
+++ git/sound/soc/codecs/wm9712.c 2006-11-07 22:11:50.000000000 +0000
@@ -618,18 +618,26 @@ static int wm9712_dapm_event(struct snd_
static int wm9712_reset(struct snd_soc_codec *codec, int try_warm)
{
- if (try_warm && soc_ac97_ops.warm_reset) {
- soc_ac97_ops.warm_reset(codec->ac97);
- if (!(ac97_read(codec, 0) & 0x8000))
- return 1;
- }
+ int retry = 3;
- soc_ac97_ops.reset(codec->ac97);
- if (ac97_read(codec, 0) & 0x8000)
- goto err;
- return 0;
+ while (retry--)
+ {
+ if(try_warm && soc_ac97_ops.warm_reset) {
+ soc_ac97_ops.warm_reset(codec->ac97);
+ if(ac97_read(codec, 0) & 0x8000)
+ continue;
+ else
+ return 1;
+ }
+
+ soc_ac97_ops.reset(codec->ac97);
+ if(ac97_read(codec, 0) & 0x8000)
+ continue;
+ else
+ return 0;
+
+ }
-err:
printk(KERN_ERR "WM9712 AC97 reset failed\n");
return -EIO;
}

View File

@ -0,0 +1,16 @@
sound/soc/codecs/wm9712.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: git/sound/soc/codecs/wm9712.c
===================================================================
--- git.orig/sound/soc/codecs/wm9712.c 2006-11-07 21:57:34.000000000 +0000
+++ git/sound/soc/codecs/wm9712.c 2006-11-07 21:59:30.000000000 +0000
@@ -651,7 +651,7 @@ static int wm9712_soc_resume(struct plat
int i, ret;
u16 *cache = codec->reg_cache;
- ret = wm9712_reset(codec, 1);
+ ret = wm9712_reset(codec, 0);
if (ret < 0){
printk(KERN_ERR "could not reset AC97 codec\n");
return ret;

View File

@ -0,0 +1,128 @@
drivers/input/power.c | 2 +-
drivers/input/touchscreen/Kconfig | 2 +-
drivers/input/touchscreen/wm97xx-core.c | 35 ++++++++++++++++---------------
include/linux/wm97xx.h | 2 +-
4 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/drivers/input/power.c b/drivers/input/power.c
index 4443e34..7aac875 100644
--- a/drivers/input/power.c
+++ b/drivers/input/power.c
@@ -156,7 +156,7 @@ static void power_event(struct input_handle *handle, unsigned int type,
}
}
-static struct input_handle *power_connect(struct input_handler *handler,
+static int power_connect(struct input_handler *handler,
struct input_dev *dev,
const struct input_device_id *id)
{
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index 6862e8f..9b532e9 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -247,7 +247,7 @@ config TOUCHSCREEN_TSC2101
config TOUCHSCREEN_WM97XX
tristate "Support for WM97xx AC97 touchscreen controllers"
- depends SND_AC97_BUS
+ depends AC97_BUS
choice
prompt "WM97xx codec type"
diff --git a/drivers/input/touchscreen/wm97xx-core.c b/drivers/input/touchscreen/wm97xx-core.c
index 9b2710e..d3ce3f3 100644
--- a/drivers/input/touchscreen/wm97xx-core.c
+++ b/drivers/input/touchscreen/wm97xx-core.c
@@ -84,6 +84,7 @@
#include <linux/bitops.h>
#include <linux/workqueue.h>
#include <linux/device.h>
+#include <linux/freezer.h>
#include <linux/wm97xx.h>
#include <asm/uaccess.h>
#include <asm/io.h>
@@ -241,14 +242,15 @@ WM97XX_STATUS_ATTR(gpio);
static int wm97xx_sys_add(struct device *dev)
{
+ int err;
if (aux_sys) {
- device_create_file(dev, &dev_attr_aux1);
- device_create_file(dev, &dev_attr_aux2);
- device_create_file(dev, &dev_attr_aux3);
- device_create_file(dev, &dev_attr_aux4);
+ err = device_create_file(dev, &dev_attr_aux1);
+ err = device_create_file(dev, &dev_attr_aux2);
+ err = device_create_file(dev, &dev_attr_aux3);
+ err = device_create_file(dev, &dev_attr_aux4);
}
if (status_sys)
- device_create_file(dev, &dev_attr_gpio);
+ err = device_create_file(dev, &dev_attr_gpio);
return 0;
}
@@ -366,12 +368,12 @@ void wm97xx_config_gpio(struct wm97xx *wm, u32 gpio, wm97xx_gpio_dir_t dir,
/*
* Handle a pen down interrupt.
- */
-static void wm97xx_pen_irq_worker(void *ptr)
-{
- struct wm97xx *wm = (struct wm97xx *) ptr;
-
- /* do we need to enable the touch panel reader */
+ */
+static void wm97xx_pen_irq_worker(struct work_struct *work)
+{
+ struct wm97xx *wm = container_of(work, struct wm97xx, pen_event_work);
+
+ /* do we need to enable the touch panel reader */
if (wm->id == WM9705_ID2) {
if (wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER_RD) & WM97XX_PEN_DOWN)
wm->pen_is_down = 1;
@@ -411,9 +413,8 @@ static void wm97xx_pen_irq_worker(void *ptr)
* We have to disable the codec interrupt in the handler because it can
* take upto 1ms to clear the interrupt source. The interrupt is then enabled
* again in the slow handler when the source has been cleared.
- */
-static irqreturn_t wm97xx_pen_interrupt(int irq, void *dev_id,
- struct pt_regs *regs)
+ */
+static irqreturn_t wm97xx_pen_interrupt(int irq, void *dev_id)
{
struct wm97xx *wm = (struct wm97xx *) dev_id;
disable_irq(wm->pen_irq);
@@ -428,15 +429,15 @@ static int wm97xx_init_pen_irq(struct wm97xx *wm)
{
u16 reg;
- INIT_WORK(&wm->pen_event_work, wm97xx_pen_irq_worker, wm);
- if ((wm->pen_irq_workq =
+ INIT_WORK(&wm->pen_event_work, wm97xx_pen_irq_worker);
+ if ((wm->pen_irq_workq =
create_singlethread_workqueue("kwm97pen")) == NULL) {
err("could not create pen irq work queue");
wm->pen_irq = 0;
return -EINVAL;
}
- if (request_irq (wm->pen_irq, wm97xx_pen_interrupt, SA_SHIRQ, "wm97xx-pen", wm)) {
+ if (request_irq (wm->pen_irq, wm97xx_pen_interrupt, IRQF_SHARED, "wm97xx-pen", wm)) {
err("could not register codec pen down interrupt, will poll for pen down");
destroy_workqueue(wm->pen_irq_workq);
wm->pen_irq = 0;
diff --git a/include/linux/wm97xx.h b/include/linux/wm97xx.h
index b1c1740..a9bd57e 100644
--- a/include/linux/wm97xx.h
+++ b/include/linux/wm97xx.h
@@ -243,7 +243,7 @@ struct wm97xx {
u16 dig_save[3]; /* saved during aux reading */
struct wm97xx_codec_drv *codec; /* attached codec driver*/
struct input_dev* input_dev; /* touchscreen input device */
- ac97_t *ac97; /* ALSA codec access */
+ struct snd_ac97 *ac97; /* ALSA codec access */
struct device *dev; /* ALSA device */
struct device *battery_dev;
struct device *touch_dev;

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
require linux-rp.inc
PR = "r2"
PR = "r4"
DEFAULT_PREFERENCE = "-1"
@ -17,43 +17,44 @@ DEFAULT_PREFERENCE = "-1"
# Hacks should clearly named and at the bottom
SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
${KERNELORG_MIRROR}pub/linux/kernel/v2.6/testing/patch-2.6.24-rc8.bz2;patch=1 \
${RPSRC}/lzo_crypto-r2.patch;patch=1 \
${RPSRC}/export_atags-r2.patch;patch=1;status=pending \
${RPSRC}/lzo_crypto-r2.patch;patch=1;status=pending \
${RPSRC}/corgi_rearrange_lcd-r0.patch;patch=1;status=pending \
${RPSRC}/lzo_jffs2_sysfs-r1.patch;patch=1 \
file://hx2750_base-r31.patch;patch=1 \
${RPSRC}/hx2750_base-r31.patch;patch=1 \
${RPSRC}/hx2750_bl-r9.patch;patch=1 \
${RPSRC}/hx2750_pcmcia-r3.patch;patch=1 \
${RPSRC}/pxa_keys-r8.patch;patch=1 \
# ${RPSRC}/tsc2101-r16.patch;patch=1 \
${RPSRC}/tsc2101-r17.patch;patch=1 \
${RPSRC}/hx2750_test1-r7.patch;patch=1 \
${RPSRC}/input_power-r10.patch;patch=1 \
${RPSRC}/input_power_fix-r0.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_add_epalloc-r4.patch;patch=1 \
${RPSRC}/usb_pxa27x_udc-r7.patch;patch=1 \
${RPSRC}/usb_pxa27x_udc-r8.patch;patch=1 \
${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
${RPSRC}/poodle_pm-r5.patch;patch=1 \
file://pxa27x_overlay-r8.patch;patch=1 \
${RPSRC}/w100_extaccel-r1.patch;patch=1 \
${RPSRC}/pxa27x_overlay-r8.patch;patch=1 \
${RPSRC}/w100_extaccel-r2.patch;patch=1 \
${RPSRC}/w100_extmem-r1.patch;patch=1 \
${RPSRC}/export_atags-r1.patch;patch=1 \
file://w100fb-unused-var.patch;patch=1 \
file://hostap-monitor-mode.patch;patch=1 \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
${RPSRC}/poodle_pm-r5.patch;patch=1 \
${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \
${RPSRC}/poodle_asoc_fix-r1.patch;patch=1 \
file://squashfs3.3.patch;patch=1;status=external \
${RPSRC}/logo_oh-r1.patch.bz2;patch=1;status=unmergable \
${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
file://hostap-monitor-mode.patch;patch=1;status=unmergable \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1;status=unmergable \
${RPSRC}/mmcsd_large_cards-r1.patch;patch=1;status=hack \
file://mmcsd_no_scr_check-r2.patch;patch=1 \
${RPSRC}/mmcsd_no_scr_check-r2.patch;patch=1;status=hack \
${RPSRC}/integrator_rgb-r1.patch;patch=1;status=hack \
${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
${RPSRC}/corgi_rearrange_lcd-r0.patch;patch=1 \
file://pxa-serial-hack.patch;patch=1;status=hack \
file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
# file://squashfs3.2-2.6.20-r0.patch;patch=1;status=external \
file://connectplus-prevent-oops-HACK.patch;patch=1;status=hack \
# file://htcuni.patch;patch=1 \
file://binutils-buildid-arm.patch;patch=1 \
file://versatile-armv6.patch;patch=1 \
file://versatile-armv6.patch;patch=1 \
file://defconfig-c7x0 \
file://defconfig-hx2000 \
file://defconfig-collie \
@ -84,36 +85,51 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
# These patches are extracted from Pavel Machek's git tree
# (diff against vanilla kernel)
SRC_URI_append_collie = "\
${DOSRC}/collie/mtd-sharp-flash-hack-r0.patch;patch=1 \
${DOSRC}/collie/collie-r0.patch;patch=1 \
${DOSRC}/collie/locomolcd-backlight-r0.patch;patch=1 \
${DOSRC}/collie/ucb1x00-touch-audio-r0.patch;patch=1 \
file://collie-mcp-r1.patch;patch=1 \
${DOSRC}/collie/sa1100-udc-r0.patch;patch=1 \
# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \
${TKSRC}/mtd-sharp-flash-hack-r3.patch;patch=1 \
${TKSRC}/mcp-sa11x0-r0.patch;patch=1 \
${TKSRC}/locomo-r0.patch;patch=1 \
# ${TKSRC}/locomo_spi-4.patch;patch=1 \
${TKSRC}/collie-kexec.patch;patch=1 \
${TKSRC}/sharpsl_pm-3.patch;patch=1 \
${TKSRC}/collie_pm-2.patch;patch=1 \
${TKSRC}/locomokeyb_suspendkey-2.patch;patch=1 \
${TKSRC}/ucb1x00_suspend.patch;patch=1 \
${TKSRC}/collie-ts.patch;patch=1 \
${TKSRC}/pcmcia_suspend.patch;patch=1 \
"
SRC_URI_append_poodle = "\
${RPSRC}/poodle_serial_vcc-r0.patch;patch=1 \
"
SRC_URI_append_tosa = "\
${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \
${CHSRC}/tmio-core-r4.patch;patch=1 \
file://tmio-tc6393-r8.patch;patch=1 \
file://tmio-nand-r7.patch;patch=1 \
file://tmio-ohci-r6.patch;patch=1 \
file://tmio-nand-r8.patch;patch=1 \
${CHSRC}/tmio-fb-r6.patch;patch=1 \
file://tosa-keyboard-r18.patch;patch=1 \
file://tmio-fb-r6-fix-r0.patch;patch=1 \
file://tosa-keyboard-r19.patch;patch=1 \
${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
file://tosa-pxaac97-r6-fix-r0.patch;patch=1 \
${DOSRC}/tosa-tmio-r6.patch;patch=1 \
${DOSRC}/tosa-power-r17.patch;patch=1 \
file://tosa-power-r18.patch;patch=1 \
file://tosa-power-r18-fix-r0.patch;patch=1 \
file://tosa-tmio-lcd-r10.patch;patch=1 \
${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \
${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \
file://tosa-tmio-lcd-r10-fix-r0.patch;patch=1 \
file://tosa-bluetooth-r8.patch;patch=1 \
file://wm97xx-lg13-r0.patch;patch=1 \
file://wm97xx-lg13-r0-fix-r0.patch;patch=1 \
file://wm9712-suspend-cold-res-r2.patch;patch=1 \
file://sharpsl-pm-postresume-r1.patch;patch=1 \
${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
file://wm9712-reset-loop-r2.patch;patch=1 \
file://tosa-lcdnoise-r1.patch;patch=1 \
file://wm97xx-lcdnoise-r0.patch;patch=1 "
file://tosa-lcdnoise-r1-fix-r0.patch;patch=1 \
file://arm-dma-coherent.patch;patch=1 \
file://usb-ohci-hooks-r3.patch;patch=1 \
file://tmio-ohci-r9.patch;patch=1 \
file://pxa2xx_udc_support_inverse_vbus.patch;patch=1 \
file://tosa_udc_use_gpio_vbus.patch;patch=1 \
"
# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
SRC_URI_append_htcuniversal ="\

View File

@ -1,6 +1,6 @@
require linux-rp.inc
PR = "r25"
PR = "r26"
# Handy URLs
# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
@ -14,10 +14,15 @@ PR = "r25"
# Patches submitted upstream are towards top of this list
# Hacks should clearly named and at the bottom
SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
file://hrw-add-wcf11-to-hostap.patch;patch=1;status=pending \
${RPSRC}/lzo_jffs2-r3.patch;patch=1 \
${RPSRC}/lzo_crypto-r2.patch;patch=1 \
${RPSRC}/lzo_jffs2_lzomode-r1.patch;patch=1 \
${RPSRC}/pxa25x_suspend_fixes-r0.patch;patch=1;status=merged \
${RPSRC}/lzo_jffs2-r3.patch;patch=1;status=merged \
${RPSRC}/lzo_jffs2_lzomode-r1.patch;patch=1;status=merged \
${RPSRC}/spitzkbd_fix-r0.patch;patch=1;status=merged \
file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=merged \
${RPSRC}/locomo_led_fix-r0.patch;patch=1;status=merged \
file://hrw-add-wcf11-to-hostap.patch;patch=1;status=merged \
${RPSRC}/export_atags-r0a.patch;patch=1;status=pending \
${RPSRC}/lzo_crypto-r2.patch;patch=1;status=pending \
${RPSRC}/lzo_jffs2_sysfs-r1.patch;patch=1 \
${RPSRC}/hx2750_base-r29.patch;patch=1 \
${RPSRC}/hx2750_bl-r9.patch;patch=1 \
@ -32,33 +37,27 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
${RPSRC}/usb_add_epalloc-r3.patch;patch=1 \
${RPSRC}/usb_pxa27x_udc-r6.patch;patch=1 \
${RPSRC}/locomo_kbd_tweak-r1.patch;patch=1 \
${RPSRC}/poodle_pm-r4.patch;patch=1 \
${RPSRC}/pxa27x_overlay-r6.patch;patch=1 \
${RPSRC}/w100_extaccel-r1.patch;patch=1 \
${RPSRC}/w100_extaccel-r2.patch;patch=1 \
${RPSRC}/w100_extmem-r1.patch;patch=1 \
${RPSRC}/spitzkbd_fix-r0.patch;patch=1 \
${RPSRC}/export_atags-r0.patch;patch=1 \
${RPSRC}/pxa25x_suspend_fixes-r0.patch;patch=1 \
${RPSRC}/poodle_pm-r4.patch;patch=1 \
${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \
${RPSRC}/poodle_asoc_fix-r1.patch;patch=1 \
${RPSRC}/locomo_led_fix-r0.patch;patch=1 \
file://w100fb-unused-var.patch;patch=1 \
file://hostap-monitor-mode.patch;patch=1 \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
file://squashfs3.0-2.6.15.patch;patch=1;status=external \
${RPSRC}/logo_oh-r1.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://hostap-monitor-mode.patch;patch=1;status=unmergable \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1;status=unmergable \
${RPSRC}/mmcsd_large_cards-r1.patch;patch=1;status=hack \
file://mmcsd_no_scr_check-r2.patch;patch=1 \
${RPSRC}/mmcsd_no_scr_check-r2.patch;patch=1;status=hack \
${RPSRC}/integrator_rgb-r1.patch;patch=1;status=hack \
${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
file://pxa-serial-hack.patch;patch=1;status=hack \
file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
file://connectplus-prevent-oops-HACK.patch;patch=1;status=hack \
file://squashfs3.0-2.6.15.patch;patch=1;status=external \
file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=external \
file://htcuni.patch;patch=1 \
file://binutils-buildid-arm.patch;patch=1 \
file://versatile-armv6.patch;patch=1 \
file://defconfig-c7x0 \
file://defconfig-hx2000 \
file://defconfig-collie \