diff options
Diffstat (limited to 'target/linux/s3c24xx/patches/0128-gta01-fix-jbt-platform-missing-members.patch.patch')
-rwxr-xr-x | target/linux/s3c24xx/patches/0128-gta01-fix-jbt-platform-missing-members.patch.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches/0128-gta01-fix-jbt-platform-missing-members.patch.patch b/target/linux/s3c24xx/patches/0128-gta01-fix-jbt-platform-missing-members.patch.patch new file mode 100755 index 0000000000..5887cf7519 --- /dev/null +++ b/target/linux/s3c24xx/patches/0128-gta01-fix-jbt-platform-missing-members.patch.patch @@ -0,0 +1,84 @@ +From a471ebdb87d610c8e0b85c01b7a2b95c13a869cc Mon Sep 17 00:00:00 2001 +From: Mike Westerhof <mwester@dls.net> +Date: Fri, 25 Jul 2008 23:06:07 +0100 +Subject: [PATCH] gta01-fix-jbt-platform-missing-members.patch + +Created an attachment (id=594) / BZ#79 +Add missing platform_data that caused the GTA01 to crash on suspend/resume + +The interface to the jbt6k74 driver changed slightly; this patch adds the +missing platform_data for the GTA01. This prevents a crash while suspending. +This patch also makes some minor changes to cleanup and clarify some debug +messages. +Signed-off-by: Mike Westerhof <mwester@dls.net> +--- + arch/arm/mach-s3c2410/mach-gta01.c | 21 ++++++++++++++++----- + 1 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/mach-s3c2410/mach-gta01.c b/arch/arm/mach-s3c2410/mach-gta01.c +index ff08449..a77ed3d 100644 +--- a/arch/arm/mach-s3c2410/mach-gta01.c ++++ b/arch/arm/mach-s3c2410/mach-gta01.c +@@ -73,6 +73,7 @@ + #include <asm/plat-s3c24xx/pm.h> + #include <asm/plat-s3c24xx/udc.h> + #include <asm/plat-s3c24xx/neo1973.h> ++#include <linux/jbt6k74.h> + + static struct map_desc gta01_iodesc[] __initdata = { + { +@@ -389,7 +390,7 @@ static void gta01_mmc_set_power(unsigned char power_mode, unsigned short vdd) + int bit; + int mv = 1700; /* 1.7V for MMC_VDD_165_195 */ + +- printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u\n", ++ printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u)\n", + power_mode, vdd); + + switch (system_rev) { +@@ -499,10 +500,20 @@ static struct s3c2410_ts_mach_info gta01_ts_cfg = { + + /* SPI */ + ++void gta01_jbt6k74_reset(int devidx, int level) ++{ ++ /* empty place holder; gta01 does not yet use this */ ++ printk(KERN_DEBUG "gta01_jbt6k74_reset\n"); ++} ++ ++const struct jbt6k74_platform_data gta01_jbt6k74_pdata = { ++ .reset = gta01_jbt6k74_reset, ++}; ++ + static struct spi_board_info gta01_spi_board_info[] = { + { + .modalias = "jbt6k74", +- /* platform_data */ ++ .platform_data = >a01_jbt6k74_pdata, + /* controller_data */ + /* irq */ + .max_speed_hz = 10 * 1000 * 1000, +@@ -641,7 +652,7 @@ static void __init gta01_map_io(void) + + static irqreturn_t gta01_modem_irq(int irq, void *param) + { +- printk(KERN_DEBUG "modem wakeup interrupt\n"); ++ printk(KERN_DEBUG "GSM wakeup interrupt (IRQ %d)\n", irq); + return IRQ_HANDLED; + } + +@@ -709,9 +720,9 @@ static void __init gta01_machine_init(void) + set_irq_type(GTA01_IRQ_MODEM, IRQT_RISING); + rc = request_irq(GTA01_IRQ_MODEM, gta01_modem_irq, IRQF_DISABLED, + "modem", NULL); +- if (!rc) +- printk(KERN_ERR "GTA01: can't request GSM modem wakeup IRQ\n"); + enable_irq_wake(GTA01_IRQ_MODEM); ++ printk(KERN_DEBUG "Enabled GSM wakeup IRQ %d (rc=%d)\n", ++ GTA01_IRQ_MODEM, rc); + } + + MACHINE_START(NEO1973_GTA01, "GTA01") +-- +1.5.6.3 + |