diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-04-22 02:28:35 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-04-22 02:28:35 -0400 |
commit | 57b8628bb0ac4e47c806e45c5bbd89282e93869b (patch) | |
tree | ee9289f0898054474b7e5054abdb3ffb78666436 /drivers/input/misc | |
parent | 486c8aba39e5f194519cd5c0e85e5d1de8b74b03 (diff) | |
parent | 66f75a5d028beaf67c931435fdc3e7823125730c (diff) |
Merge commit 'v3.4-rc4' into next
Diffstat (limited to 'drivers/input/misc')
-rw-r--r-- | drivers/input/misc/88pm860x_onkey.c | 26 | ||||
-rw-r--r-- | drivers/input/misc/Kconfig | 5 | ||||
-rw-r--r-- | drivers/input/misc/da9052_onkey.c | 3 | ||||
-rw-r--r-- | drivers/input/misc/twl4030-vibra.c | 6 | ||||
-rw-r--r-- | drivers/input/misc/twl6040-vibra.c | 4 |
5 files changed, 34 insertions, 10 deletions
diff --git a/drivers/input/misc/88pm860x_onkey.c b/drivers/input/misc/88pm860x_onkey.c index f2e0cbc5ab64..f9ce1835e4d7 100644 --- a/drivers/input/misc/88pm860x_onkey.c +++ b/drivers/input/misc/88pm860x_onkey.c | |||
@@ -105,6 +105,8 @@ static int __devinit pm860x_onkey_probe(struct platform_device *pdev) | |||
105 | } | 105 | } |
106 | 106 | ||
107 | platform_set_drvdata(pdev, info); | 107 | platform_set_drvdata(pdev, info); |
108 | device_init_wakeup(&pdev->dev, 1); | ||
109 | |||
108 | return 0; | 110 | return 0; |
109 | 111 | ||
110 | out_irq: | 112 | out_irq: |
@@ -129,10 +131,34 @@ static int __devexit pm860x_onkey_remove(struct platform_device *pdev) | |||
129 | return 0; | 131 | return 0; |
130 | } | 132 | } |
131 | 133 | ||
134 | #ifdef CONFIG_PM_SLEEP | ||
135 | static int pm860x_onkey_suspend(struct device *dev) | ||
136 | { | ||
137 | struct platform_device *pdev = to_platform_device(dev); | ||
138 | struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent); | ||
139 | |||
140 | if (device_may_wakeup(dev)) | ||
141 | chip->wakeup_flag |= 1 << PM8607_IRQ_ONKEY; | ||
142 | return 0; | ||
143 | } | ||
144 | static int pm860x_onkey_resume(struct device *dev) | ||
145 | { | ||
146 | struct platform_device *pdev = to_platform_device(dev); | ||
147 | struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent); | ||
148 | |||
149 | if (device_may_wakeup(dev)) | ||
150 | chip->wakeup_flag &= ~(1 << PM8607_IRQ_ONKEY); | ||
151 | return 0; | ||
152 | } | ||
153 | #endif | ||
154 | |||
155 | static SIMPLE_DEV_PM_OPS(pm860x_onkey_pm_ops, pm860x_onkey_suspend, pm860x_onkey_resume); | ||
156 | |||
132 | static struct platform_driver pm860x_onkey_driver = { | 157 | static struct platform_driver pm860x_onkey_driver = { |
133 | .driver = { | 158 | .driver = { |
134 | .name = "88pm860x-onkey", | 159 | .name = "88pm860x-onkey", |
135 | .owner = THIS_MODULE, | 160 | .owner = THIS_MODULE, |
161 | .pm = &pm860x_onkey_pm_ops, | ||
136 | }, | 162 | }, |
137 | .probe = pm860x_onkey_probe, | 163 | .probe = pm860x_onkey_probe, |
138 | .remove = __devexit_p(pm860x_onkey_remove), | 164 | .remove = __devexit_p(pm860x_onkey_remove), |
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index d62827271802..7faf4a7fcaa9 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig | |||
@@ -380,8 +380,7 @@ config INPUT_TWL4030_VIBRA | |||
380 | 380 | ||
381 | config INPUT_TWL6040_VIBRA | 381 | config INPUT_TWL6040_VIBRA |
382 | tristate "Support for TWL6040 Vibrator" | 382 | tristate "Support for TWL6040 Vibrator" |
383 | depends on TWL4030_CORE | 383 | depends on TWL6040_CORE |
384 | select TWL6040_CORE | ||
385 | select INPUT_FF_MEMLESS | 384 | select INPUT_FF_MEMLESS |
386 | help | 385 | help |
387 | This option enables support for TWL6040 Vibrator Driver. | 386 | This option enables support for TWL6040 Vibrator Driver. |
@@ -580,7 +579,7 @@ config INPUT_CMA3000_I2C | |||
580 | 579 | ||
581 | config INPUT_XEN_KBDDEV_FRONTEND | 580 | config INPUT_XEN_KBDDEV_FRONTEND |
582 | tristate "Xen virtual keyboard and mouse support" | 581 | tristate "Xen virtual keyboard and mouse support" |
583 | depends on XEN_FBDEV_FRONTEND | 582 | depends on XEN |
584 | default y | 583 | default y |
585 | select XEN_XENBUS_FRONTEND | 584 | select XEN_XENBUS_FRONTEND |
586 | help | 585 | help |
diff --git a/drivers/input/misc/da9052_onkey.c b/drivers/input/misc/da9052_onkey.c index 34aebb8cd080..3c843cd725fa 100644 --- a/drivers/input/misc/da9052_onkey.c +++ b/drivers/input/misc/da9052_onkey.c | |||
@@ -95,7 +95,8 @@ static int __devinit da9052_onkey_probe(struct platform_device *pdev) | |||
95 | input_dev = input_allocate_device(); | 95 | input_dev = input_allocate_device(); |
96 | if (!onkey || !input_dev) { | 96 | if (!onkey || !input_dev) { |
97 | dev_err(&pdev->dev, "Failed to allocate memory\n"); | 97 | dev_err(&pdev->dev, "Failed to allocate memory\n"); |
98 | return -ENOMEM; | 98 | error = -ENOMEM; |
99 | goto err_free_mem; | ||
99 | } | 100 | } |
100 | 101 | ||
101 | onkey->input = input_dev; | 102 | onkey->input = input_dev; |
diff --git a/drivers/input/misc/twl4030-vibra.c b/drivers/input/misc/twl4030-vibra.c index 37651373a95b..fc0ed9b43424 100644 --- a/drivers/input/misc/twl4030-vibra.c +++ b/drivers/input/misc/twl4030-vibra.c | |||
@@ -172,7 +172,7 @@ static void twl4030_vibra_close(struct input_dev *input) | |||
172 | } | 172 | } |
173 | 173 | ||
174 | /*** Module ***/ | 174 | /*** Module ***/ |
175 | #if CONFIG_PM | 175 | #ifdef CONFIG_PM_SLEEP |
176 | static int twl4030_vibra_suspend(struct device *dev) | 176 | static int twl4030_vibra_suspend(struct device *dev) |
177 | { | 177 | { |
178 | struct platform_device *pdev = to_platform_device(dev); | 178 | struct platform_device *pdev = to_platform_device(dev); |
@@ -189,10 +189,10 @@ static int twl4030_vibra_resume(struct device *dev) | |||
189 | vibra_disable_leds(); | 189 | vibra_disable_leds(); |
190 | return 0; | 190 | return 0; |
191 | } | 191 | } |
192 | #endif | ||
192 | 193 | ||
193 | static SIMPLE_DEV_PM_OPS(twl4030_vibra_pm_ops, | 194 | static SIMPLE_DEV_PM_OPS(twl4030_vibra_pm_ops, |
194 | twl4030_vibra_suspend, twl4030_vibra_resume); | 195 | twl4030_vibra_suspend, twl4030_vibra_resume); |
195 | #endif | ||
196 | 196 | ||
197 | static int __devinit twl4030_vibra_probe(struct platform_device *pdev) | 197 | static int __devinit twl4030_vibra_probe(struct platform_device *pdev) |
198 | { | 198 | { |
@@ -273,9 +273,7 @@ static struct platform_driver twl4030_vibra_driver = { | |||
273 | .driver = { | 273 | .driver = { |
274 | .name = "twl4030-vibra", | 274 | .name = "twl4030-vibra", |
275 | .owner = THIS_MODULE, | 275 | .owner = THIS_MODULE, |
276 | #ifdef CONFIG_PM | ||
277 | .pm = &twl4030_vibra_pm_ops, | 276 | .pm = &twl4030_vibra_pm_ops, |
278 | #endif | ||
279 | }, | 277 | }, |
280 | }; | 278 | }; |
281 | module_platform_driver(twl4030_vibra_driver); | 279 | module_platform_driver(twl4030_vibra_driver); |
diff --git a/drivers/input/misc/twl6040-vibra.c b/drivers/input/misc/twl6040-vibra.c index 45874fed523a..14e94f56cb7d 100644 --- a/drivers/input/misc/twl6040-vibra.c +++ b/drivers/input/misc/twl6040-vibra.c | |||
@@ -28,7 +28,7 @@ | |||
28 | #include <linux/module.h> | 28 | #include <linux/module.h> |
29 | #include <linux/platform_device.h> | 29 | #include <linux/platform_device.h> |
30 | #include <linux/workqueue.h> | 30 | #include <linux/workqueue.h> |
31 | #include <linux/i2c/twl.h> | 31 | #include <linux/input.h> |
32 | #include <linux/mfd/twl6040.h> | 32 | #include <linux/mfd/twl6040.h> |
33 | #include <linux/slab.h> | 33 | #include <linux/slab.h> |
34 | #include <linux/delay.h> | 34 | #include <linux/delay.h> |
@@ -257,7 +257,7 @@ static SIMPLE_DEV_PM_OPS(twl6040_vibra_pm_ops, twl6040_vibra_suspend, NULL); | |||
257 | 257 | ||
258 | static int __devinit twl6040_vibra_probe(struct platform_device *pdev) | 258 | static int __devinit twl6040_vibra_probe(struct platform_device *pdev) |
259 | { | 259 | { |
260 | struct twl4030_vibra_data *pdata = pdev->dev.platform_data; | 260 | struct twl6040_vibra_data *pdata = pdev->dev.platform_data; |
261 | struct vibra_info *info; | 261 | struct vibra_info *info; |
262 | int ret; | 262 | int ret; |
263 | 263 | ||