On Mon, Feb 15, 2010 at 08:08:24PM +0100, Rafael J. Wysocki wrote: > On Monday 15 February 2010, Mark Brown wrote: > > On Mon, Feb 15, 2010 at 07:14:09PM +0100, Jean Delvare wrote: > > > Applied, thanks. I am a little surprised to see that these functions > > > have nothing i2c-specific, so I am wondering why we have to duplicate > > > them in every bus type... Shouldn't the functions above be part of > > > drivers/base/power/runtime.c and exported so that all bus types that > > > want them can reuse them? > In fact this is the first bus type that doesn't need anything specific in these > routines so fat. Not really - the platform bus is the same, it's just that some platforms are also able to do some neat stuff with the information they glean via runtime PM. The platform bus is actually a bit of a problem here since it gets used both for on-SoC devices where that sort of stuff is possible and also for things like MFDs and random memory mapped things on the system, meaning that drivers can't take advantage of runtime PM unless someone goes through and does something per-SoC which is a bit inconvnient. There's other buses like SPI that are in the same boat as I2C - they don't really have a cohesive bus level power management structure, or the power management is fully handled by with noop methods on the bus and holding the parent open until all the children are idle. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html