diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-05 14:15:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-05 14:15:54 -0400 |
commit | 45e36c1666aa6c8b0c538abcf984b336184d8c3f (patch) | |
tree | c1f1771d6b02ec210238081450b4a063847b3383 /drivers/input/touchscreen | |
parent | 87fc94d54b639d8c39fc4a11db0e142f84096e13 (diff) | |
parent | 68b42d1b548be1840aff7122fdebeb804daf0fa3 (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.c | 23 |
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 | ||
228 | static 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 | |||
238 | static 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 | |||
227 | static const struct i2c_device_id migor_ts_id[] = { | 248 | static 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 | ||