mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/4] PM / TPM: Convert platform TPM drivers to PM handling based on struct dev_pm_ops
@ 2012-07-04 22:08 Rafael J. Wysocki
  2012-07-04 22:09 ` [PATCH 1/4] PM / TPM: Drop unused pm_message_t argument from tpm_pm_suspend() Rafael J. Wysocki
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2012-07-04 22:08 UTC (permalink / raw)
  To: Linux PM list
  Cc: LKML, tpmdd-devel, Debora Velarde, Rajiv Andrade, Marcel Selhorst

Hi all,

As per

http://marc.info/?l=linux-kernel&m=133996733422413&w=4

the following patches convert the platform TPM drivers to the PM handling
based on struct dev_pm_ops:

[1/4] Drop the (unused) pm_message_t argument of tpm_pm_suspend().
[2/4] tpm_atmel: Use struct dev_pm_ops for power management.
[3/4] tpm_tis: Use struct dev_pm_ops for power management.
[4/4] tpm_nsc: Use struct dev_pm_ops for power management.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/4]  PM / TPM: Drop unused pm_message_t argument from tpm_pm_suspend()
  2012-07-04 22:08 [PATCH 0/4] PM / TPM: Convert platform TPM drivers to PM handling based on struct dev_pm_ops Rafael J. Wysocki
@ 2012-07-04 22:09 ` Rafael J. Wysocki
  2012-07-04 22:10 ` [PATCH 2/4] tpm_atmel: Use struct dev_pm_ops for power management Rafael J. Wysocki
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2012-07-04 22:09 UTC (permalink / raw)
  To: Linux PM list
  Cc: LKML, tpmdd-devel, Debora Velarde, Rajiv Andrade, Marcel Selhorst

From: Rafael J. Wysocki <rjw@sisk.pl>

The tpm_pm_suspend()'s second argument of type pm_message_t is not
used, so remove it.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
 drivers/char/tpm/tpm.c       |    2 +-
 drivers/char/tpm/tpm.h       |    2 +-
 drivers/char/tpm/tpm_atmel.c |    2 +-
 drivers/char/tpm/tpm_nsc.c   |    2 +-
 drivers/char/tpm/tpm_tis.c   |    4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

Index: linux/drivers/char/tpm/tpm.h
===================================================================
--- linux.orig/drivers/char/tpm/tpm.h
+++ linux/drivers/char/tpm/tpm.h
@@ -299,7 +299,7 @@ extern ssize_t tpm_write(struct file *,
 			 loff_t *);
 extern ssize_t tpm_read(struct file *, char __user *, size_t, loff_t *);
 extern void tpm_remove_hardware(struct device *);
-extern int tpm_pm_suspend(struct device *, pm_message_t);
+extern int tpm_pm_suspend(struct device *);
 extern int tpm_pm_resume(struct device *);
 extern int wait_for_tpm_stat(struct tpm_chip *, u8, unsigned long,
 			     wait_queue_head_t *);
Index: linux/drivers/char/tpm/tpm_atmel.c
===================================================================
--- linux.orig/drivers/char/tpm/tpm_atmel.c
+++ linux/drivers/char/tpm/tpm_atmel.c
@@ -170,7 +170,7 @@ static void atml_plat_remove(void)
 
 static int tpm_atml_suspend(struct platform_device *dev, pm_message_t msg)
 {
-	return tpm_pm_suspend(&dev->dev, msg);
+	return tpm_pm_suspend(&dev->dev);
 }
 
 static int tpm_atml_resume(struct platform_device *dev)
Index: linux/drivers/char/tpm/tpm_tis.c
===================================================================
--- linux.orig/drivers/char/tpm/tpm_tis.c
+++ linux/drivers/char/tpm/tpm_tis.c
@@ -750,7 +750,7 @@ static int __devinit tpm_tis_pnp_init(st
 
 static int tpm_tis_pnp_suspend(struct pnp_dev *dev, pm_message_t msg)
 {
-	return tpm_pm_suspend(&dev->dev, msg);
+	return tpm_pm_suspend(&dev->dev);
 }
 
 static int tpm_tis_pnp_resume(struct pnp_dev *dev)
@@ -808,7 +808,7 @@ MODULE_PARM_DESC(hid, "Set additional sp
 #endif
 static int tpm_tis_suspend(struct platform_device *dev, pm_message_t msg)
 {
-	return tpm_pm_suspend(&dev->dev, msg);
+	return tpm_pm_suspend(&dev->dev);
 }
 
 static int tpm_tis_resume(struct platform_device *dev)
Index: linux/drivers/char/tpm/tpm_nsc.c
===================================================================
--- linux.orig/drivers/char/tpm/tpm_nsc.c
+++ linux/drivers/char/tpm/tpm_nsc.c
@@ -276,7 +276,7 @@ static void tpm_nsc_remove(struct device
 
 static int tpm_nsc_suspend(struct platform_device *dev, pm_message_t msg)
 {
-	return tpm_pm_suspend(&dev->dev, msg);
+	return tpm_pm_suspend(&dev->dev);
 }
 
 static int tpm_nsc_resume(struct platform_device *dev)
Index: linux/drivers/char/tpm/tpm.c
===================================================================
--- linux.orig/drivers/char/tpm/tpm.c
+++ linux/drivers/char/tpm/tpm.c
@@ -1274,7 +1274,7 @@ static struct tpm_input_header savestate
  * We are about to suspend. Save the TPM state
  * so that it can be restored.
  */
-int tpm_pm_suspend(struct device *dev, pm_message_t pm_state)
+int tpm_pm_suspend(struct device *dev)
 {
 	struct tpm_chip *chip = dev_get_drvdata(dev);
 	struct tpm_cmd_t cmd;


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/4] tpm_atmel: Use struct dev_pm_ops for power management
  2012-07-04 22:08 [PATCH 0/4] PM / TPM: Convert platform TPM drivers to PM handling based on struct dev_pm_ops Rafael J. Wysocki
  2012-07-04 22:09 ` [PATCH 1/4] PM / TPM: Drop unused pm_message_t argument from tpm_pm_suspend() Rafael J. Wysocki
@ 2012-07-04 22:10 ` Rafael J. Wysocki
  2012-07-04 22:11 ` [PATCH 3/4] tpm_tis: " Rafael J. Wysocki
  2012-07-04 22:12 ` [PATCH 4/4] tpm_nsc: " Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2012-07-04 22:10 UTC (permalink / raw)
  To: Linux PM list
  Cc: LKML, tpmdd-devel, Debora Velarde, Rajiv Andrade, Marcel Selhorst

From: Rafael J. Wysocki <rjw@sisk.pl>

Make the tpm_atmel driver define its PM callbacks through
a struct dev_pm_ops object rather than by using legacy PM hooks
in struct platform_driver.

This allows the driver to use tpm_pm_suspend() and tpm_pm_resume()
as its PM callbacks directly, without defining its own PM callback
routines.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
 drivers/char/tpm/tpm_atmel.c |   12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

Index: linux/drivers/char/tpm/tpm_atmel.c
===================================================================
--- linux.orig/drivers/char/tpm/tpm_atmel.c
+++ linux/drivers/char/tpm/tpm_atmel.c
@@ -168,22 +168,14 @@ static void atml_plat_remove(void)
 	}
 }
 
-static int tpm_atml_suspend(struct platform_device *dev, pm_message_t msg)
-{
-	return tpm_pm_suspend(&dev->dev);
-}
+static SIMPLE_DEV_PM_OPS(tpm_atml_pm, tpm_pm_suspend, tpm_pm_resume);
 
-static int tpm_atml_resume(struct platform_device *dev)
-{
-	return tpm_pm_resume(&dev->dev);
-}
 static struct platform_driver atml_drv = {
 	.driver = {
 		.name = "tpm_atmel",
 		.owner		= THIS_MODULE,
+		.pm		= &tpm_atml_pm,
 	},
-	.suspend = tpm_atml_suspend,
-	.resume = tpm_atml_resume,
 };
 
 static int __init init_atmel(void)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 3/4] tpm_tis: Use struct dev_pm_ops for power management
  2012-07-04 22:08 [PATCH 0/4] PM / TPM: Convert platform TPM drivers to PM handling based on struct dev_pm_ops Rafael J. Wysocki
  2012-07-04 22:09 ` [PATCH 1/4] PM / TPM: Drop unused pm_message_t argument from tpm_pm_suspend() Rafael J. Wysocki
  2012-07-04 22:10 ` [PATCH 2/4] tpm_atmel: Use struct dev_pm_ops for power management Rafael J. Wysocki
@ 2012-07-04 22:11 ` Rafael J. Wysocki
  2012-07-04 22:12 ` [PATCH 4/4] tpm_nsc: " Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2012-07-04 22:11 UTC (permalink / raw)
  To: Linux PM list
  Cc: LKML, tpmdd-devel, Debora Velarde, Rajiv Andrade, Marcel Selhorst

From: Rafael J. Wysocki <rjw@sisk.pl>

Make the tpm_tis driver define its PM callbacks through
a struct dev_pm_ops object rather than by using legacy PM hooks
in struct platform_driver.

This allows the driver to use tpm_pm_suspend() as its suspend
callback directly, without defining its own suspend callback
routine.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
 drivers/char/tpm/tpm_tis.c |   16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

Index: linux/drivers/char/tpm/tpm_tis.c
===================================================================
--- linux.orig/drivers/char/tpm/tpm_tis.c
+++ linux/drivers/char/tpm/tpm_tis.c
@@ -806,27 +806,25 @@ module_param_string(hid, tpm_pnp_tbl[TIS
 		    sizeof(tpm_pnp_tbl[TIS_HID_USR_IDX].id), 0444);
 MODULE_PARM_DESC(hid, "Set additional specific HID for this driver to probe");
 #endif
-static int tpm_tis_suspend(struct platform_device *dev, pm_message_t msg)
-{
-	return tpm_pm_suspend(&dev->dev);
-}
 
-static int tpm_tis_resume(struct platform_device *dev)
+static int tpm_tis_resume(struct device *dev)
 {
-	struct tpm_chip *chip = dev_get_drvdata(&dev->dev);
+	struct tpm_chip *chip = dev_get_drvdata(dev);
 
 	if (chip->vendor.irq)
 		tpm_tis_reenable_interrupts(chip);
 
-	return tpm_pm_resume(&dev->dev);
+	return tpm_pm_resume(dev);
 }
+
+static SIMPLE_DEV_PM_OPS(tpm_tis_pm, tpm_pm_suspend, tpm_tis_resume);
+
 static struct platform_driver tis_drv = {
 	.driver = {
 		.name = "tpm_tis",
 		.owner		= THIS_MODULE,
+		.pm		= &tpm_tis_pm,
 	},
-	.suspend = tpm_tis_suspend,
-	.resume = tpm_tis_resume,
 };
 
 static struct platform_device *pdev;


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 4/4] tpm_nsc: Use struct dev_pm_ops for power management
  2012-07-04 22:08 [PATCH 0/4] PM / TPM: Convert platform TPM drivers to PM handling based on struct dev_pm_ops Rafael J. Wysocki
                   ` (2 preceding siblings ...)
  2012-07-04 22:11 ` [PATCH 3/4] tpm_tis: " Rafael J. Wysocki
@ 2012-07-04 22:12 ` Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2012-07-04 22:12 UTC (permalink / raw)
  To: Linux PM list
  Cc: LKML, tpmdd-devel, Debora Velarde, Rajiv Andrade, Marcel Selhorst

From: Rafael J. Wysocki <rjw@sisk.pl>

Make the tpm_nsc driver define its PM callbacks through
a struct dev_pm_ops object rather than by using legacy PM hooks
in struct platform_driver.

This allows the driver to use tpm_pm_suspend() and tpm_pm_resume()
as its PM callbacks directly, without defining its own PM callback
routines.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
 drivers/char/tpm/tpm_nsc.c |   13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

Index: linux/drivers/char/tpm/tpm_nsc.c
===================================================================
--- linux.orig/drivers/char/tpm/tpm_nsc.c
+++ linux/drivers/char/tpm/tpm_nsc.c
@@ -274,22 +274,13 @@ static void tpm_nsc_remove(struct device
 	}
 }
 
-static int tpm_nsc_suspend(struct platform_device *dev, pm_message_t msg)
-{
-	return tpm_pm_suspend(&dev->dev);
-}
-
-static int tpm_nsc_resume(struct platform_device *dev)
-{
-	return tpm_pm_resume(&dev->dev);
-}
+static SIMPLE_DEV_PM_OPS(tpm_nsc_pm, tpm_pm_suspend, tpm_pm_resume);
 
 static struct platform_driver nsc_drv = {
-	.suspend         = tpm_nsc_suspend,
-	.resume          = tpm_nsc_resume,
 	.driver          = {
 		.name    = "tpm_nsc",
 		.owner   = THIS_MODULE,
+		.pm      = &tpm_nsc_pm,
 	},
 };
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-07-04 22:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-04 22:08 [PATCH 0/4] PM / TPM: Convert platform TPM drivers to PM handling based on struct dev_pm_ops Rafael J. Wysocki
2012-07-04 22:09 ` [PATCH 1/4] PM / TPM: Drop unused pm_message_t argument from tpm_pm_suspend() Rafael J. Wysocki
2012-07-04 22:10 ` [PATCH 2/4] tpm_atmel: Use struct dev_pm_ops for power management Rafael J. Wysocki
2012-07-04 22:11 ` [PATCH 3/4] tpm_tis: " Rafael J. Wysocki
2012-07-04 22:12 ` [PATCH 4/4] tpm_nsc: " Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®