mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
changed Makefile and profiles, added patches for kernel 2.6.24
(stable-branch of Openmoko) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13613 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
From 6da7929da1b46bccaae0f53bf7a26cdd74a3b70a Mon Sep 17 00:00:00 2001
|
||||
From: Mike Westerhof <mwester@dls.net>
|
||||
Date: Wed, 2 Jul 2008 22:44:01 +0100
|
||||
Subject: [PATCH] clean-gsm-flow-control.patch
|
||||
|
||||
Signed-off-by: Mike Westerhof <mwester@dls.net>
|
||||
|
||||
arch/arm/plat-s3c24xx/neo1973_pm_gsm.c | 52 +-------
|
||||
drivers/serial/s3c2410.c | 204 +++-----------------------------
|
||||
2 files changed, 24 insertions(+), 232 deletions(-)
|
||||
---
|
||||
arch/arm/plat-s3c24xx/neo1973_pm_gsm.c | 32 ++++++++++++++++++--------------
|
||||
drivers/serial/s3c2410.c | 3 ++-
|
||||
2 files changed, 20 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
|
||||
index d70a481..f3c9504 100644
|
||||
--- a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
|
||||
+++ b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
|
||||
@@ -31,6 +31,18 @@
|
||||
#include <asm/arch/regs-gpioj.h>
|
||||
#endif
|
||||
|
||||
+extern void s3c24xx_serial_register_resume_dependency(struct resume_dependency *
|
||||
+ resume_dependency, int uart_index);
|
||||
+
|
||||
+/* flag set if we flow-controlled the GSM in our suspend routine */
|
||||
+int gsm_auto_flowcontrolled;
|
||||
+
|
||||
+int gta01_gsm_enabled;
|
||||
+EXPORT_SYMBOL(gta01_gsm_enabled);
|
||||
+
|
||||
+int gta_gsm_interrupts;
|
||||
+EXPORT_SYMBOL(gta_gsm_interrupts);
|
||||
+
|
||||
struct gta01pm_priv {
|
||||
int gpio_ngsm_en;
|
||||
int gpio_ndl_gsm;
|
||||
@@ -183,20 +195,6 @@ static DEVICE_ATTR(reset, 0644, gsm_read, gsm_write);
|
||||
static DEVICE_ATTR(download, 0644, gsm_read, gsm_write);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
-static void gsm_resume_work(struct work_struct *w)
|
||||
-{
|
||||
- printk(KERN_INFO "%s: waiting...\n", __FUNCTION__);
|
||||
- if (gsm_autounlock_delay)
|
||||
- msleep(gsm_autounlock_delay);
|
||||
- if (gsm_auto_flowcontrolled) {
|
||||
- if (machine_is_neo1973_gta01())
|
||||
- s3c24xx_fake_rx_interrupt(10000);
|
||||
- s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPH1_nRTS0);
|
||||
- gsm_auto_flowcontrolled = 0;
|
||||
- }
|
||||
- printk(KERN_INFO "%s: done.\n", __FUNCTION__);
|
||||
-}
|
||||
-
|
||||
static int gta01_gsm_resume(struct platform_device *pdev);
|
||||
static int gta01_gsm_suspend(struct platform_device *pdev, pm_message_t state)
|
||||
{
|
||||
@@ -235,6 +233,12 @@ static int gta01_gsm_resume(struct platform_device *pdev)
|
||||
if (machine_is_neo1973_gta02())
|
||||
s3c2410_gpio_setpin(GTA02_GPIO_nDL_GSM, gta01_gsm.gpio_ndl_gsm);
|
||||
|
||||
+ /* If we forced flow-control on the GSM, we should also release it */
|
||||
+ if (gsm_auto_flowcontrolled) {
|
||||
+ s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPH1_nRTS0);
|
||||
+ gsm_auto_flowcontrolled = 0;
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
diff --git a/drivers/serial/s3c2410.c b/drivers/serial/s3c2410.c
|
||||
index bc6736d..73c6284 100644
|
||||
--- a/drivers/serial/s3c2410.c
|
||||
+++ b/drivers/serial/s3c2410.c
|
||||
@@ -385,7 +385,8 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id)
|
||||
if (uart_handle_sysrq_char(port, ch))
|
||||
goto ignore_char;
|
||||
|
||||
- uart_insert_char(port, uerstat, S3C2410_UERSTAT_OVERRUN, ch, flag);
|
||||
+ uart_insert_char(port, uerstat, S3C2410_UERSTAT_OVERRUN, ch,
|
||||
+ flag);
|
||||
|
||||
ignore_char:
|
||||
continue;
|
||||
--
|
||||
1.5.6.5
|
||||
|
||||
Reference in New Issue
Block a user