diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/1107-fix-gsm-download-irq-balance-issue.patch.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches-2.6.26/1107-fix-gsm-download-irq-balance-issue.patch.patch | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/1107-fix-gsm-download-irq-balance-issue.patch.patch b/target/linux/s3c24xx/patches-2.6.26/1107-fix-gsm-download-irq-balance-issue.patch.patch deleted file mode 100755 index eb7492959f..0000000000 --- a/target/linux/s3c24xx/patches-2.6.26/1107-fix-gsm-download-irq-balance-issue.patch.patch +++ /dev/null @@ -1,64 +0,0 @@ -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 - |