mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
change prefix for kernelpatchbase 2.6.26
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13619 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
From 95f161a3dc8b50ee354f5d9cd3785d3522bc1bb5 Mon Sep 17 00:00:00 2001
|
||||
From: Andy Green <andy@openmoko.com>
|
||||
Date: Fri, 25 Jul 2008 23:06:04 +0100
|
||||
Subject: [PATCH] fix-gsm-download-irq-balance-issue.patch
|
||||
|
||||
Only enable or disable the interrupt if we see we are in the opposing state.
|
||||
Also force that damn GSM download signal deasserted on probe at the time we
|
||||
set the logical state for it to deasserted.
|
||||
|
||||
Signed-off-by: Andy Green <andy@openmoko.com>
|
||||
---
|
||||
arch/arm/plat-s3c24xx/neo1973_pm_gsm.c | 28 +++++++++++++++++++++-------
|
||||
1 files changed, 21 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
|
||||
index b4ea8ba..c3292b8 100644
|
||||
--- a/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
|
||||
+++ b/arch/arm/plat-s3c24xx/neo1973_pm_gsm.c
|
||||
@@ -146,13 +146,24 @@ static ssize_t gsm_write(struct device *dev, struct device_attribute *attr,
|
||||
#endif
|
||||
#ifdef CONFIG_MACH_NEO1973_GTA02
|
||||
if (machine_is_neo1973_gta02()) {
|
||||
- /* FIXME: Layering violation, we know how this relates to
|
||||
- * the Jack-IRQ. And we assume the keyboard driver to be
|
||||
- * around. */
|
||||
- if (on)
|
||||
- disable_irq(gpio_to_irq(GTA02_GPIO_JACK_INSERT));
|
||||
- else
|
||||
- enable_irq(gpio_to_irq(GTA02_GPIO_JACK_INSERT));
|
||||
+ /*
|
||||
+ * the keyboard / buttons driver requests and enables
|
||||
+ * the JACK_INSERT IRQ. We have to take care about
|
||||
+ * not enabling and disabling the IRQ when it was
|
||||
+ * already in that state or we get "unblanaced IRQ"
|
||||
+ * kernel warnings and stack dumps. So we use the
|
||||
+ * copy of the ndl_gsm state to figure out if we should
|
||||
+ * enable or disable the jack interrupt
|
||||
+ */
|
||||
+ if (on) {
|
||||
+ if (gta01_gsm.gpio_ndl_gsm)
|
||||
+ disable_irq(gpio_to_irq(
|
||||
+ GTA02_GPIO_JACK_INSERT));
|
||||
+ } else {
|
||||
+ if (!gta01_gsm.gpio_ndl_gsm)
|
||||
+ enable_irq(gpio_to_irq(
|
||||
+ GTA02_GPIO_JACK_INSERT));
|
||||
+ }
|
||||
|
||||
gta01_gsm.gpio_ndl_gsm = !on;
|
||||
s3c2410_gpio_setpin(GTA02_GPIO_nDL_GSM, !on);
|
||||
@@ -263,7 +274,10 @@ static int __init gta01_gsm_probe(struct platform_device *pdev)
|
||||
} else
|
||||
gta01_gsm.con = NULL;
|
||||
|
||||
+ /* note that download initially disabled, and enforce that */
|
||||
gta01_gsm.gpio_ndl_gsm = 1;
|
||||
+ if (machine_is_neo1973_gta02())
|
||||
+ s3c2410_gpio_setpin(GTA02_GPIO_nDL_GSM, 1);
|
||||
|
||||
return sysfs_create_group(&pdev->dev.kobj, >a01_gsm_attr_group);
|
||||
}
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
Reference in New Issue
Block a user