Commit 9ebb08c8 authored by Gerd Knorr's avatar Gerd Knorr Committed by Greg Kroah-Hartman

[PATCH] I2C: i2c bus power management support

The patch below adds power management support to the i2c bus.
It adds just two small functions which call down to the devices
power management functions if they are present, so the i2c device
drivers will receive the suspend and resume events.

From: Gerd Knorr <kraxel@bytesex.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
parent 4e2dc6e2
...@@ -517,9 +517,29 @@ static int i2c_device_match(struct device *dev, struct device_driver *drv) ...@@ -517,9 +517,29 @@ static int i2c_device_match(struct device *dev, struct device_driver *drv)
return 1; return 1;
} }
static int i2c_bus_suspend(struct device * dev, u32 state)
{
int rc = 0;
if (dev->driver && dev->driver->suspend)
rc = dev->driver->suspend(dev,state,0);
return rc;
}
static int i2c_bus_resume(struct device * dev)
{
int rc = 0;
if (dev->driver && dev->driver->resume)
rc = dev->driver->resume(dev,0);
return rc;
}
struct bus_type i2c_bus_type = { struct bus_type i2c_bus_type = {
.name = "i2c", .name = "i2c",
.match = i2c_device_match, .match = i2c_device_match,
.suspend = i2c_bus_suspend,
.resume = i2c_bus_resume,
}; };
static int __init i2c_init(void) static int __init i2c_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment