Documentation: i2c: Use PM ops instead of legacy suspend/resume
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 30 Nov 2014 16:52:31 +0000 (17:52 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 4 Dec 2014 18:09:03 +0000 (19:09 +0100)
New drivers should use PM ops instead of the legacy suspend/resume
callbacks. Update the I2C device driver guides to reflect this.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Documentation/i2c/upgrading-clients
Documentation/i2c/writing-clients

index 8e5fbd88c7d1472af8f6d1da1ed5798340cfc345..ccba3ffd6e800e7a5b8ec7463eb3637b7512e6a9 100644 (file)
@@ -79,11 +79,10 @@ static struct i2c_driver example_driver = {
        .driver         = {
                .owner          = THIS_MODULE,
                .name           = "example",
+               .pm             = &example_pm_ops,
        },
        .attach_adapter = example_attach_adapter,
        .detach_client  = example_detach,
-       .suspend        = example_suspend,
-       .resume         = example_resume,
 };
 
 
@@ -272,10 +271,9 @@ static struct i2c_driver example_driver = {
        .driver         = {
                .owner          = THIS_MODULE,
                .name           = "example",
+               .pm             = &example_pm_ops,
        },
        .id_table       = example_idtable,
        .probe          = example_probe,
        .remove         = example_remove,
-       .suspend        = example_suspend,
-       .resume         = example_resume,
 };
index 6b344b516bff8176a1f4faeb66e74c65523ba7ee..a755b141fa4a8946409750b99e8713e1d6ebb5f2 100644 (file)
@@ -36,6 +36,7 @@ MODULE_DEVICE_TABLE(i2c, foo_idtable);
 static struct i2c_driver foo_driver = {
        .driver = {
                .name   = "foo",
+               .pm     = &foo_pm_ops,  /* optional */
        },
 
        .id_table       = foo_idtable,
@@ -47,8 +48,6 @@ static struct i2c_driver foo_driver = {
        .address_list   = normal_i2c,
 
        .shutdown       = foo_shutdown, /* optional */
-       .suspend        = foo_suspend,  /* optional */
-       .resume         = foo_resume,   /* optional */
        .command        = foo_command,  /* optional, deprecated */
 }
 
@@ -279,8 +278,9 @@ Power Management
 
 If your I2C device needs special handling when entering a system low
 power state -- like putting a transceiver into a low power mode, or
-activating a system wakeup mechanism -- do that in the suspend() method.
-The resume() method should reverse what the suspend() method does.
+activating a system wakeup mechanism -- do that by implementing the
+appropriate callbacks for the dev_pm_ops of the driver (like suspend
+and resume).
 
 These are standard driver model calls, and they work just like they
 would for any other driver stack.  The calls can sleep, and can use
This page took 0.026575 seconds and 5 git commands to generate.