Browse Source

Documentation: i2c: Use PM ops instead of legacy suspend/resume

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>
Lars-Peter Clausen 10 years ago
parent
commit
5f835cef77
2 changed files with 6 additions and 8 deletions
  1. 2 4
      Documentation/i2c/upgrading-clients
  2. 4 4
      Documentation/i2c/writing-clients

+ 2 - 4
Documentation/i2c/upgrading-clients

@@ -79,11 +79,10 @@ static struct i2c_driver example_driver = {
  	.driver		= {
  	.driver		= {
 		.owner		= THIS_MODULE,
 		.owner		= THIS_MODULE,
 		.name		= "example",
 		.name		= "example",
+		.pm		= &example_pm_ops,
 	},
 	},
 	.attach_adapter = example_attach_adapter,
 	.attach_adapter = example_attach_adapter,
 	.detach_client	= example_detach,
 	.detach_client	= example_detach,
-	.suspend	= example_suspend,
-	.resume		= example_resume,
 };
 };
 
 
 
 
@@ -272,10 +271,9 @@ static struct i2c_driver example_driver = {
  	.driver		= {
  	.driver		= {
 		.owner		= THIS_MODULE,
 		.owner		= THIS_MODULE,
 		.name		= "example",
 		.name		= "example",
+		.pm		= &example_pm_ops,
 	},
 	},
 	.id_table	= example_idtable,
 	.id_table	= example_idtable,
 	.probe		= example_probe,
 	.probe		= example_probe,
 	.remove		= example_remove,
 	.remove		= example_remove,
-	.suspend	= example_suspend,
-	.resume		= example_resume,
 };
 };

+ 4 - 4
Documentation/i2c/writing-clients

@@ -36,6 +36,7 @@ MODULE_DEVICE_TABLE(i2c, foo_idtable);
 static struct i2c_driver foo_driver = {
 static struct i2c_driver foo_driver = {
 	.driver = {
 	.driver = {
 		.name	= "foo",
 		.name	= "foo",
+		.pm	= &foo_pm_ops,	/* optional */
 	},
 	},
 
 
 	.id_table	= foo_idtable,
 	.id_table	= foo_idtable,
@@ -47,8 +48,6 @@ static struct i2c_driver foo_driver = {
 	.address_list	= normal_i2c,
 	.address_list	= normal_i2c,
 
 
 	.shutdown	= foo_shutdown,	/* optional */
 	.shutdown	= foo_shutdown,	/* optional */
-	.suspend	= foo_suspend,	/* optional */
-	.resume		= foo_resume,	/* optional */
 	.command	= foo_command,	/* optional, deprecated */
 	.command	= foo_command,	/* optional, deprecated */
 }
 }
 
 
@@ -279,8 +278,9 @@ Power Management
 
 
 If your I2C device needs special handling when entering a system low
 If your I2C device needs special handling when entering a system low
 power state -- like putting a transceiver into a low power mode, or
 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
 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
 would for any other driver stack.  The calls can sleep, and can use