aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c2410/mach-gta01.c
diff options
context:
space:
mode:
authorMike Westerhof <mwester@dls.net>2008-11-19 17:09:41 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-19 17:09:41 +0000
commitf3a8b07c0d04269aff68f5f3a89e6f494aa01eb2 (patch)
tree2f05b3ca7e34e07125fcf91e112904273d8c9293 /arch/arm/mach-s3c2410/mach-gta01.c
parentee9c944b59f0b93115ba5b1e09e01b8084b017be (diff)
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>
Diffstat (limited to 'arch/arm/mach-s3c2410/mach-gta01.c')
-rw-r--r--arch/arm/mach-s3c2410/mach-gta01.c21
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 ff08449061b..a77ed3dbdc9 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 = &gta01_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")