aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/tpm')
-rw-r--r--drivers/char/tpm/tpm.c2
-rw-r--r--drivers/char/tpm/tpm.h2
-rw-r--r--drivers/char/tpm/tpm_atmel.c12
-rw-r--r--drivers/char/tpm/tpm_nsc.c13
-rw-r--r--drivers/char/tpm/tpm_tis.c18
5 files changed, 14 insertions, 33 deletions
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
index ad7c7320dd1b..ae43ac55fc1e 100644
--- a/drivers/char/tpm/tpm.c
+++ b/drivers/char/tpm/tpm.c
@@ -1274,7 +1274,7 @@ static struct tpm_input_header savestate_header = {
1274 * We are about to suspend. Save the TPM state 1274 * We are about to suspend. Save the TPM state
1275 * so that it can be restored. 1275 * so that it can be restored.
1276 */ 1276 */
1277int tpm_pm_suspend(struct device *dev, pm_message_t pm_state) 1277int tpm_pm_suspend(struct device *dev)
1278{ 1278{
1279 struct tpm_chip *chip = dev_get_drvdata(dev); 1279 struct tpm_chip *chip = dev_get_drvdata(dev);
1280 struct tpm_cmd_t cmd; 1280 struct tpm_cmd_t cmd;
diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
index b1c5280ac159..917f727e6740 100644
--- a/drivers/char/tpm/tpm.h
+++ b/drivers/char/tpm/tpm.h
@@ -299,7 +299,7 @@ extern ssize_t tpm_write(struct file *, const char __user *, size_t,
299 loff_t *); 299 loff_t *);
300extern ssize_t tpm_read(struct file *, char __user *, size_t, loff_t *); 300extern ssize_t tpm_read(struct file *, char __user *, size_t, loff_t *);
301extern void tpm_remove_hardware(struct device *); 301extern void tpm_remove_hardware(struct device *);
302extern int tpm_pm_suspend(struct device *, pm_message_t); 302extern int tpm_pm_suspend(struct device *);
303extern int tpm_pm_resume(struct device *); 303extern int tpm_pm_resume(struct device *);
304extern int wait_for_tpm_stat(struct tpm_chip *, u8, unsigned long, 304extern int wait_for_tpm_stat(struct tpm_chip *, u8, unsigned long,
305 wait_queue_head_t *); 305 wait_queue_head_t *);
diff --git a/drivers/char/tpm/tpm_atmel.c b/drivers/char/tpm/tpm_atmel.c
index c64a1bc65349..678d57019dc4 100644
--- a/drivers/char/tpm/tpm_atmel.c
+++ b/drivers/char/tpm/tpm_atmel.c
@@ -168,22 +168,14 @@ static void atml_plat_remove(void)
168 } 168 }
169} 169}
170 170
171static int tpm_atml_suspend(struct platform_device *dev, pm_message_t msg) 171static SIMPLE_DEV_PM_OPS(tpm_atml_pm, tpm_pm_suspend, tpm_pm_resume);
172{
173 return tpm_pm_suspend(&dev->dev, msg);
174}
175 172
176static int tpm_atml_resume(struct platform_device *dev)
177{
178 return tpm_pm_resume(&dev->dev);
179}
180static struct platform_driver atml_drv = { 173static struct platform_driver atml_drv = {
181 .driver = { 174 .driver = {
182 .name = "tpm_atmel", 175 .name = "tpm_atmel",
183 .owner = THIS_MODULE, 176 .owner = THIS_MODULE,
177 .pm = &tpm_atml_pm,
184 }, 178 },
185 .suspend = tpm_atml_suspend,
186 .resume = tpm_atml_resume,
187}; 179};
188 180
189static int __init init_atmel(void) 181static int __init init_atmel(void)
diff --git a/drivers/char/tpm/tpm_nsc.c b/drivers/char/tpm/tpm_nsc.c
index 4d2464871ada..640c9a427b59 100644
--- a/drivers/char/tpm/tpm_nsc.c
+++ b/drivers/char/tpm/tpm_nsc.c
@@ -274,22 +274,13 @@ static void tpm_nsc_remove(struct device *dev)
274 } 274 }
275} 275}
276 276
277static int tpm_nsc_suspend(struct platform_device *dev, pm_message_t msg) 277static SIMPLE_DEV_PM_OPS(tpm_nsc_pm, tpm_pm_suspend, tpm_pm_resume);
278{
279 return tpm_pm_suspend(&dev->dev, msg);
280}
281
282static int tpm_nsc_resume(struct platform_device *dev)
283{
284 return tpm_pm_resume(&dev->dev);
285}
286 278
287static struct platform_driver nsc_drv = { 279static struct platform_driver nsc_drv = {
288 .suspend = tpm_nsc_suspend,
289 .resume = tpm_nsc_resume,
290 .driver = { 280 .driver = {
291 .name = "tpm_nsc", 281 .name = "tpm_nsc",
292 .owner = THIS_MODULE, 282 .owner = THIS_MODULE,
283 .pm = &tpm_nsc_pm,
293 }, 284 },
294}; 285};
295 286
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index d2a70cae76df..89682fa8801e 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -750,7 +750,7 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev,
750 750
751static int tpm_tis_pnp_suspend(struct pnp_dev *dev, pm_message_t msg) 751static int tpm_tis_pnp_suspend(struct pnp_dev *dev, pm_message_t msg)
752{ 752{
753 return tpm_pm_suspend(&dev->dev, msg); 753 return tpm_pm_suspend(&dev->dev);
754} 754}
755 755
756static int tpm_tis_pnp_resume(struct pnp_dev *dev) 756static int tpm_tis_pnp_resume(struct pnp_dev *dev)
@@ -806,27 +806,25 @@ module_param_string(hid, tpm_pnp_tbl[TIS_HID_USR_IDX].id,
806 sizeof(tpm_pnp_tbl[TIS_HID_USR_IDX].id), 0444); 806 sizeof(tpm_pnp_tbl[TIS_HID_USR_IDX].id), 0444);
807MODULE_PARM_DESC(hid, "Set additional specific HID for this driver to probe"); 807MODULE_PARM_DESC(hid, "Set additional specific HID for this driver to probe");
808#endif 808#endif
809static int tpm_tis_suspend(struct platform_device *dev, pm_message_t msg)
810{
811 return tpm_pm_suspend(&dev->dev, msg);
812}
813 809
814static int tpm_tis_resume(struct platform_device *dev) 810static int tpm_tis_resume(struct device *dev)
815{ 811{
816 struct tpm_chip *chip = dev_get_drvdata(&dev->dev); 812 struct tpm_chip *chip = dev_get_drvdata(dev);
817 813
818 if (chip->vendor.irq) 814 if (chip->vendor.irq)
819 tpm_tis_reenable_interrupts(chip); 815 tpm_tis_reenable_interrupts(chip);
820 816
821 return tpm_pm_resume(&dev->dev); 817 return tpm_pm_resume(dev);
822} 818}
819
820static SIMPLE_DEV_PM_OPS(tpm_tis_pm, tpm_pm_suspend, tpm_tis_resume);
821
823static struct platform_driver tis_drv = { 822static struct platform_driver tis_drv = {
824 .driver = { 823 .driver = {
825 .name = "tpm_tis", 824 .name = "tpm_tis",
826 .owner = THIS_MODULE, 825 .owner = THIS_MODULE,
826 .pm = &tpm_tis_pm,
827 }, 827 },
828 .suspend = tpm_tis_suspend,
829 .resume = tpm_tis_resume,
830}; 828};
831 829
832static struct platform_device *pdev; 830static struct platform_device *pdev;