* [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®