aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/touchscreen
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-04-05 14:15:54 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-05 14:15:54 -0400
commit45e36c1666aa6c8b0c538abcf984b336184d8c3f (patch)
treec1f1771d6b02ec210238081450b4a063847b3383 /drivers/input/touchscreen
parent87fc94d54b639d8c39fc4a11db0e142f84096e13 (diff)
parent68b42d1b548be1840aff7122fdebeb804daf0fa3 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits) sh: sh7785lcr: Map whole PCI address space. sh: Fix up DSP context save/restore. sh: Fix up number of on-chip DMA channels on SH7091. sh: update defconfigs. sh: Kill off broken direct-mapped cache mode. sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle. sh: Add a command line option for disabling I/O trapping. sh: Select ARCH_HIBERNATION_POSSIBLE. sh: migor: Fix up CEU use flags. input: migor_ts: add wakeup support rtc: rtc-sh: use set_irq_wake() input: sh_keysc: use enable/disable_irq_wake() sh: intc: set_irq_wake() support sh: intc: install enable, disable and shutdown callbacks clocksource: sh_cmt: use remove_irq() and remove clockevent workaround sh: ap325 and Migo-R use new sh_mobile_ceu_info flags sh: Fix up -Wformat-security whining. sh: ap325rxa: Add ov772x support, again. sh: Sanitize asm/mmu.h for assembly use. sh: Tidy up sh7786 pinmux table. ...
Diffstat (limited to 'drivers/input/touchscreen')
-rw-r--r--drivers/input/touchscreen/migor_ts.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/input/touchscreen/migor_ts.c b/drivers/input/touchscreen/migor_ts.c
index 504ca11749a..141dd584330 100644
--- a/drivers/input/touchscreen/migor_ts.c
+++ b/drivers/input/touchscreen/migor_ts.c
@@ -198,6 +198,7 @@ static int migor_ts_probe(struct i2c_client *client,
198 goto err2; 198 goto err2;
199 } 199 }
200 200
201 device_init_wakeup(&client->dev, 1);
201 return 0; 202 return 0;
202 203
203 err2: 204 err2:
@@ -224,6 +225,26 @@ static int migor_ts_remove(struct i2c_client *client)
224 return 0; 225 return 0;
225} 226}
226 227
228static int migor_ts_suspend(struct i2c_client *client, pm_message_t mesg)
229{
230 struct migor_ts_priv *priv = dev_get_drvdata(&client->dev);
231
232 if (device_may_wakeup(&client->dev))
233 enable_irq_wake(priv->irq);
234
235 return 0;
236}
237
238static int migor_ts_resume(struct i2c_client *client)
239{
240 struct migor_ts_priv *priv = dev_get_drvdata(&client->dev);
241
242 if (device_may_wakeup(&client->dev))
243 disable_irq_wake(priv->irq);
244
245 return 0;
246}
247
227static const struct i2c_device_id migor_ts_id[] = { 248static const struct i2c_device_id migor_ts_id[] = {
228 { "migor_ts", 0 }, 249 { "migor_ts", 0 },
229 { } 250 { }
@@ -236,6 +257,8 @@ static struct i2c_driver migor_ts_driver = {
236 }, 257 },
237 .probe = migor_ts_probe, 258 .probe = migor_ts_probe,
238 .remove = migor_ts_remove, 259 .remove = migor_ts_remove,
260 .suspend = migor_ts_suspend,
261 .resume = migor_ts_resume,
239 .id_table = migor_ts_id, 262 .id_table = migor_ts_id,
240}; 263};
241 264