|
@@ -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
|