aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-tuna-connector.c
diff options
context:
space:
mode:
authorErik Gilling <konkers@android.com>2012-06-12 10:59:03 -0700
committerErik Gilling <konkers@android.com>2012-06-13 11:27:19 -0700
commitfb1a6e209862e5ed7a1d6d9a65cc25a7884485cd (patch)
tree2df328ce3585f1e3b87a33193232f65d3babe18e /arch/arm/mach-omap2/board-tuna-connector.c
parent713a3d449abb0a560256f2711bdbba734641f5e7 (diff)
downloadkernel_samsung_tuna-fb1a6e209862e5ed7a1d6d9a65cc25a7884485cd.zip
kernel_samsung_tuna-fb1a6e209862e5ed7a1d6d9a65cc25a7884485cd.tar.gz
kernel_samsung_tuna-fb1a6e209862e5ed7a1d6d9a65cc25a7884485cd.tar.bz2
ARM: OMAP4: tuna: keep device out of suspend when MHL is actice
This works arounds a bug in the HDCP driver. Change-Id: Idf95e7038b0c557c6d8ce230ed0ffb873cf5b7a9 Signed-off-by: Erik Gilling <konkers@android.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-tuna-connector.c')
-rw-r--r--arch/arm/mach-omap2/board-tuna-connector.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-tuna-connector.c b/arch/arm/mach-omap2/board-tuna-connector.c
index 855ee6a..6f39c15 100644
--- a/arch/arm/mach-omap2/board-tuna-connector.c
+++ b/arch/arm/mach-omap2/board-tuna-connector.c
@@ -33,6 +33,7 @@
#include <linux/i2c/twl.h>
#include <linux/mutex.h>
#include <linux/switch.h>
+#include <linux/wakelock.h>
#include <plat/usb.h>
@@ -752,6 +753,8 @@ static ssize_t tuna_otg_uart_switch_store(struct device *dev,
return size;
}
+static struct wake_lock sii9234_wake_lock;
+
#define OMAP_HDMI_HPD_ADDR 0x4A100098
#define OMAP_HDMI_PULLTYPE_MASK 0x00000010
static void sii9234_power(int on)
@@ -808,7 +811,10 @@ static void sii9234_connect(bool on, u8 *devcap)
dock = 1;
}
}
+
+ wake_lock(&sii9234_wake_lock);
} else {
+ wake_unlock(&sii9234_wake_lock);
val = USB_EVENT_NONE;
}
@@ -925,6 +931,8 @@ int __init omap4_tuna_connector_init(void)
OMAP_PIN_INPUT_PULLUP |
OMAP_PIN_OFF_INPUT_PULLUP);
+ wake_lock_init(&sii9234_wake_lock, WAKE_LOCK_SUSPEND, "sii9234(mhl)");
+
mutex_init(&tuna_otg->lock);
INIT_WORK(&tuna_otg->set_vbus_work, tuna_otg_work);