On Wed, May 29, 2013 at 01:29:06AM +0200, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > The "runtime idle" helper routine, rpm_idle(), currently ignores > return values from .runtime_idle() callbacks executed by it. > > However, it turns out that many subsystems use the generic idle > callback routine pm_generic_runtime_idle() which checks the return > value of the driver's callback and executes pm_runtime_suspend() for > the device unless that value is different from 0. If that logic is > moved to rpm_idle() instead, pm_generic_runtime_idle() can be dropped > and its users will not need any .runtime_idle() callbacks any more. > > Moreover, the PCI subsystem's .runtime_idle() routine, > pci_pm_runtime_idle(), works in analogy with the generic one and if > rpm_idle() calls rpm_suspend() after 0 has been returned by the > .runtime_idle() callback executed by it, that routine will not be > necessary any more and may be dropped. > > To reduce overall code duplication make the changes described above. > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > --- > > The patch doesn't break compilation for me, but it hasn't been tested > otherwise. It applies on top of the linux-pm.git tree's linux-next branch. > > Thanks, > Rafael > > --- > Documentation/power/runtime_pm.txt | 5 ----- > arch/arm/mach-omap2/omap_device.c | 7 +------ > drivers/acpi/device_pm.c | 1 - > drivers/amba/bus.c | 2 +- > drivers/base/platform.c | 1 - > drivers/base/power/domain.c | 1 - > drivers/base/power/generic_ops.c | 23 ----------------------- > drivers/base/power/runtime.c | 12 +++++------- > drivers/i2c/i2c-core.c | 2 +- i2c-core runtime PM idle still works with this patch :-) You can add my Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> for the i2c parts if you like. > drivers/mmc/core/sdio_bus.c | 2 +- > drivers/pci/pci-driver.c | 27 --------------------------- > drivers/spi/spi.c | 2 +- > drivers/usb/core/port.c | 1 - > include/linux/pm_runtime.h | 2 -- > 14 files changed, 10 insertions(+), 78 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html