On Wed, Sep 24, 2014 at 10:46:17PM +0200, Rafael J. Wysocki wrote: > On Wednesday, September 24, 2014 03:15:58 PM Felipe Balbi wrote: > > On Wed, Sep 24, 2014 at 10:28:07PM +0200, Rafael J. Wysocki wrote: > > > On Wednesday, September 24, 2014 09:44:50 PM Vinod Koul wrote: > > > > This patch series adds a simple macro > > > > pm_runtime_last_busy_and_autosuspend() > > > > which invokes pm_runtime_mark_last_busy() and > > > > pm_runtime_put_autosuspend() > > > > sequentially. Then we do a tree wide update of current patterns which > > > > are > > > > present. As evident from log below this pattern is frequent in the > > > > kernel. > > > > > > > > This series can be found at > > > > git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/slave-dma.git > > > > topic/pm_runtime_last_busy_and_autosuspend > > > > > > > > Fengguang's kbuild has tested it so it shouldn't break things for > > > > anyone. > > > > Barring one patch (explictyly mentioned in its changelog) rest are > > > > simple > > > > replacements. > > > > > > > > If all are okay, this should be merged thru PM tree as it depends on > > > > macro > > > > addition. > > > > > > > > Subhransu S. Prusty (1): > > > > PM: Add helper pm_runtime_last_busy_and_autosuspend() > > > > > > > > Vinod Koul (26): > > > > dmaengine: ste_dma: use pm_runtime_last_busy_and_autosuspend helper > > > > extcon: arizona: use pm_runtime_last_busy_and_autosuspend helper > > > > drm/i915: use pm_runtime_last_busy_and_autosuspend helper > > > > drm/nouveau: use pm_runtime_last_busy_and_autosuspend helper > > > > drm/radeon: use pm_runtime_last_busy_and_autosuspend helper > > > > vga_switcheroo: use pm_runtime_last_busy_and_autosuspend helper > > > > i2c: designware: use pm_runtime_last_busy_and_autosuspend helper > > > > i2c: omap: use pm_runtime_last_busy_and_autosuspend helper > > > > i2c: qup: use pm_runtime_last_busy_and_autosuspend helper > > > > mfd: ab8500-gpadc: use pm_runtime_last_busy_and_autosuspend helper > > > > mfd: arizona: use pm_runtime_last_busy_and_autosuspend helper > > > > mei: use pm_runtime_last_busy_and_autosuspend helper > > > > mmc: use pm_runtime_last_busy_and_autosuspend helper > > > > mmc: mmci: use pm_runtime_last_busy_and_autosuspend helper > > > > mmc: omap_hsmmc: use pm_runtime_last_busy_and_autosuspend helper > > > > mmc: sdhci-pxav3: use pm_runtime_last_busy_and_autosuspend helper > > > > mmc: sdhci: use pm_runtime_last_busy_and_autosuspend helper > > > > NFC: trf7970a: use pm_runtime_last_busy_and_autosuspend helper > > > > pm2301-charger: use pm_runtime_last_busy_and_autosuspend helper > > > > spi: omap2-mcspi: use pm_runtime_last_busy_and_autosuspend helper > > > > spi: orion: use pm_runtime_last_busy_and_autosuspend helper > > > > spi: ti-qspi: use pm_runtime_last_busy_and_autosuspend helper > > > > spi: core: use pm_runtime_last_busy_and_autosuspend helper > > > > tty: serial: omap: use pm_runtime_last_busy_and_autosuspend helper > > > > usb: musb: omap2430: use pm_runtime_last_busy_and_autosuspend helper > > > > video: fbdev: use pm_runtime_last_busy_and_autosuspend helper > > > > > > > > Documentation/power/runtime_pm.txt | 4 ++ > > > > drivers/dma/ste_dma40.c | 30 ++++--------- > > > > drivers/extcon/extcon-arizona.c | 6 +-- > > > > drivers/gpu/drm/i915/intel_pm.c | 3 +- > > > > drivers/gpu/drm/nouveau/nouveau_connector.c | 3 +- > > > > drivers/gpu/drm/nouveau/nouveau_drm.c | 9 +--- > > > > drivers/gpu/drm/radeon/radeon_connectors.c | 15 ++---- > > > > drivers/gpu/drm/radeon/radeon_drv.c | 5 +- > > > > drivers/gpu/drm/radeon/radeon_kms.c | 6 +-- > > > > drivers/gpu/vga/vga_switcheroo.c | 7 +-- > > > > drivers/i2c/busses/i2c-designware-core.c | 3 +- > > > > drivers/i2c/busses/i2c-omap.c | 6 +-- > > > > drivers/i2c/busses/i2c-qup.c | 3 +- > > > > drivers/mfd/ab8500-gpadc.c | 6 +-- > > > > drivers/mfd/arizona-irq.c | 3 +- > > > > drivers/misc/mei/client.c | 12 ++---- > > > > drivers/mmc/core/core.c | 3 +- > > > > drivers/mmc/host/mmci.c | 12 ++---- > > > > drivers/mmc/host/omap_hsmmc.c | 19 ++------- > > > > drivers/mmc/host/sdhci-pxav3.c | 6 +-- > > > > drivers/mmc/host/sdhci.c | 3 +- > > > > drivers/nfc/trf7970a.c | 3 +- > > > > drivers/power/pm2301_charger.c | 3 +- > > > > drivers/spi/spi-omap2-mcspi.c | 9 +--- > > > > drivers/spi/spi-orion.c | 3 +- > > > > drivers/spi/spi-ti-qspi.c | 5 +- > > > > drivers/spi/spi.c | 6 +-- > > > > drivers/tty/serial/omap-serial.c | 60 > > > > +++++++++------------------ > > > > drivers/usb/musb/omap2430.c | 6 +-- > > > > drivers/video/fbdev/auo_k190x.c | 9 +--- > > > > include/linux/pm_runtime.h | 6 +++ > > > > 31 files changed, 97 insertions(+), 177 deletions(-) > > > > > > OK, I guess this is as good as it gets. > > > > > > What tree would you like it go through? > > > > Do we really need this new helper ? I mean, the very moment when we > > decide to implement ->runtime_idle() we will need to get rid of this > > change. I wonder if it's really valid... > > I'm not sure I'm following? This seems to simply implement what drivers > have been doing already as one function. Why would it be invalid to reduce > code duplication?
For two reasons: 1) the helper has no inteligence whatsoever. It just calls the same functions. 2) the duplication will vanish whenever someone implements ->runtime_idle() and have that call pm_runtime_autosuspend() (like PCI and USB buses are doing today). This will just be yet another line that needs to change. Frankly though, no strong feelings, I just think it's a commit that doesn't bring that any benefits other than looking like one line was removed. -- balbi -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140924/b24c7ffc/attachment-0001.sig>