X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=target%2Flinux%2Fs3c24xx%2Fpatches-2.6.24%2F1118-fix-gsm-download-irq-balance-issue.patch.patch;fp=target%2Flinux%2Fs3c24xx%2Fpatches-2.6.24%2F1118-fix-gsm-download-irq-balance-issue.patch.patch;h=0000000000000000000000000000000000000000;hb=26e3776a22bf894ced5af4c28968dc1dc99968eb;hp=8b3f3766e1b83c584342c5c41159743c4ef27952;hpb=4bd70fc26256cf485f19e0c8b881e078dc36134f;p=openwrt.git diff --git a/target/linux/s3c24xx/patches-2.6.24/1118-fix-gsm-download-irq-balance-issue.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1118-fix-gsm-download-irq-balance-issue.patch.patch deleted file mode 100644 index 8b3f3766e1..0000000000 --- a/target/linux/s3c24xx/patches-2.6.24/1118-fix-gsm-download-irq-balance-issue.patch.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 129f349dc3ee75dfb0580436d82fd0d6633ba2c4 Mon Sep 17 00:00:00 2001 -From: warmcat -Date: Sun, 13 Apr 2008 07:25:55 +0100 -Subject: [PATCH] fix-gsm-download-irq-balance-issue.patch - -Signed-off-by: Andy Green ---- - 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.5 -