linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
@ 2014-09-24 16:14 Vinod Koul
  2014-09-24 16:14 ` [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend() Vinod Koul
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Vinod Koul @ 2014-09-24 16:14 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, Seungwon Jeon,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, vinod.koul, Jingoo Han,
	Jaehoon Chung, Jani Nikula, Tomi Valkeinen, Alan Stern,
	Ben Skeggs, Bjorn Andersson, Wolfram Sang

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(-)


Thanks
-- 
~Vinod

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend()
  2014-09-24 16:14 [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Vinod Koul
@ 2014-09-24 16:14 ` Vinod Koul
  2014-09-24 17:54   ` Pavel Machek
  2014-09-25  8:13   ` Ulf Hansson
  2014-09-24 16:15 ` [PATCH 20/27] pm2301-charger: use pm_runtime_last_busy_and_autosuspend helper Vinod Koul
  2014-09-24 20:28 ` [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Rafael J. Wysocki
  2 siblings, 2 replies; 16+ messages in thread
From: Vinod Koul @ 2014-09-24 16:14 UTC (permalink / raw)
  To: linux-kernel
  Cc: subhransu.s.prusty, vinod.koul, Rafael J. Wysocki, Len Brown,
	Pavel Machek, Randy Dunlap, Ulf Hansson, Alan Stern, linux-pm,
	linux-doc

From: Subhransu S. Prusty <subhransu.s.prusty@intel.com>

pm_runtime_mark_last_busy and pm_runtime_put_autosuspend are used together
in quite a lot of places. Add a helper for these.
Also updated Documentation for this

Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
 Documentation/power/runtime_pm.txt |    4 ++++
 include/linux/pm_runtime.h         |    6 ++++++
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt
index f32ce54..5d9565b 100644
--- a/Documentation/power/runtime_pm.txt
+++ b/Documentation/power/runtime_pm.txt
@@ -490,6 +490,10 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h:
       power.use_autosuspend isn't set, otherwise returns the expiration time
       in jiffies
 
+   int pm_runtime_last_busy_and_autosuspend(struct device *dev);
+    - invoke pm_runtime_mark_last_busy(dev) and then run
+      pm_runtime_put_autosuspend(dev) and return its result
+
 It is safe to execute the following helper functions from interrupt context:
 
 pm_request_idle()
diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
index 367f49b..256ec50 100644
--- a/include/linux/pm_runtime.h
+++ b/include/linux/pm_runtime.h
@@ -277,4 +277,10 @@ static inline void pm_runtime_dont_use_autosuspend(struct device *dev)
 	__pm_runtime_use_autosuspend(dev, false);
 }
 
+static inline int pm_runtime_last_busy_and_autosuspend(struct device *dev)
+{
+	pm_runtime_mark_last_busy(dev);
+	return pm_runtime_put_autosuspend(dev);
+}
+
 #endif
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 20/27] pm2301-charger: use pm_runtime_last_busy_and_autosuspend helper
  2014-09-24 16:14 [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Vinod Koul
  2014-09-24 16:14 ` [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend() Vinod Koul
@ 2014-09-24 16:15 ` Vinod Koul
  2014-09-24 20:28 ` [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Rafael J. Wysocki
  2 siblings, 0 replies; 16+ messages in thread
From: Vinod Koul @ 2014-09-24 16:15 UTC (permalink / raw)
  To: linux-kernel
  Cc: subhransu.s.prusty, vinod.koul, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, linux-pm

Use the new pm_runtime_last_busy_and_autosuspend helper instead of open
coding the same code

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
 drivers/power/pm2301_charger.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/power/pm2301_charger.c b/drivers/power/pm2301_charger.c
index 62c15af..673b203 100644
--- a/drivers/power/pm2301_charger.c
+++ b/drivers/power/pm2301_charger.c
@@ -499,8 +499,7 @@ static irqreturn_t  pm2xxx_irq_int(int irq, void *data)
 		}
 	} while (gpio_get_value(pm2->pdata->gpio_irq_number) == 0);
 
-	pm_runtime_mark_last_busy(pm2->dev);
-	pm_runtime_put_autosuspend(pm2->dev);
+	pm_runtime_last_busy_and_autosuspend(pm2->dev);
 
 	return IRQ_HANDLED;
 }
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend()
  2014-09-24 16:14 ` [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend() Vinod Koul
@ 2014-09-24 17:54   ` Pavel Machek
  2014-09-25  8:00     ` Vinod Koul
  2014-09-25  8:13   ` Ulf Hansson
  1 sibling, 1 reply; 16+ messages in thread
From: Pavel Machek @ 2014-09-24 17:54 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-kernel, subhransu.s.prusty, Rafael J. Wysocki, Len Brown,
	Randy Dunlap, Ulf Hansson, Alan Stern, linux-pm, linux-doc

On Wed 2014-09-24 21:44:51, Vinod Koul wrote:
> From: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
> 
> pm_runtime_mark_last_busy and pm_runtime_put_autosuspend are used together
> in quite a lot of places. Add a helper for these.
> Also updated Documentation for this

With function name as long as the implementation... I'm not sure if
this is good helper :-).
									Pavel

> +static inline int pm_runtime_last_busy_and_autosuspend(struct device *dev)
> +{
> +	pm_runtime_mark_last_busy(dev);
> +	return pm_runtime_put_autosuspend(dev);
> +}

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-24 20:28 ` [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Rafael J. Wysocki
@ 2014-09-24 20:15   ` Felipe Balbi
  2014-09-24 20:46     ` Rafael J. Wysocki
  2014-09-25  7:46   ` Vinod Koul
  1 sibling, 1 reply; 16+ messages in thread
From: Felipe Balbi @ 2014-09-24 20:15 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, Seungwon Jeon,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, Shinya Kuribayashi,
	Laurent Pinchart, Vinod Koul, Jaehoon Chung, Jani Nikula,
	Tomi Valkeinen, Alan Stern, Ben Skeggs, Bjorn Andersson,
	Wolfram Sang, Dave Airlie, Ulf Hansson


[-- Attachment #1.1: Type: text/plain, Size: 5110 bytes --]

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

-- 
balbi

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-24 16:14 [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Vinod Koul
  2014-09-24 16:14 ` [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend() Vinod Koul
  2014-09-24 16:15 ` [PATCH 20/27] pm2301-charger: use pm_runtime_last_busy_and_autosuspend helper Vinod Koul
@ 2014-09-24 20:28 ` Rafael J. Wysocki
  2014-09-24 20:15   ` Felipe Balbi
  2014-09-25  7:46   ` Vinod Koul
  2 siblings, 2 replies; 16+ messages in thread
From: Rafael J. Wysocki @ 2014-09-24 20:28 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-kernel, subhransu.s.prusty, Alan Stern, Alexandre Courbot,
	Andrew Morton, Andy Gross, Baruch Siach, Ben Skeggs,
	Bjorn Andersson, Chew, Chiau Ee, Chris Ball, Dan Carpenter,
	Daniel Vetter, Dave Airlie, David Herrmann, dmaengine, dri-devel,
	Du, Wenkai, Grant Grundler, Ilia Mirkin, intel-gfx,
	Ivan T. Ivanov, Jaehoon Chung, Jani Nikula <jani.nikul>

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?


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-24 20:46     ` Rafael J. Wysocki
@ 2014-09-24 20:32       ` Felipe Balbi
  2014-09-25  7:57         ` Vinod Koul
  0 siblings, 1 reply; 16+ messages in thread
From: Felipe Balbi @ 2014-09-24 20:32 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, Seungwon Jeon,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, Shinya Kuribayashi,
	Laurent Pinchart, Vinod Koul, Jaehoon Chung, Jani Nikula,
	Tomi Valkeinen, Alan Stern, Ben Skeggs, Bjorn Andersson,
	Wolfram Sang, Dave Airlie, Ulf Hansson


[-- Attachment #1.1: Type: text/plain, Size: 6265 bytes --]

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

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-24 20:15   ` Felipe Balbi
@ 2014-09-24 20:46     ` Rafael J. Wysocki
  2014-09-24 20:32       ` Felipe Balbi
  0 siblings, 1 reply; 16+ messages in thread
From: Rafael J. Wysocki @ 2014-09-24 20:46 UTC (permalink / raw)
  To: balbi
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, Seungwon Jeon,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, Vinod Koul, Jingoo Han,
	Jaehoon Chung, Jani Nikula, Tomi Valkeinen, Alan Stern,
	Ben Skeggs, Bjorn Andersson, Wolfram Sang


[-- Attachment #1.1: Type: text/plain, Size: 5602 bytes --]

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?

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

[-- Attachment #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-24 20:28 ` [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Rafael J. Wysocki
  2014-09-24 20:15   ` Felipe Balbi
@ 2014-09-25  7:46   ` Vinod Koul
  1 sibling, 0 replies; 16+ messages in thread
From: Vinod Koul @ 2014-09-25  7:46 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, Seungwon Jeon,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, Jingoo Han, Jaehoon Chung,
	Jani Nikula, Tomi Valkeinen, Alan Stern, Ben Skeggs,
	Bjorn Andersson, Wolfram Sang, Dave Airlie

On Wed, Sep 24, 2014 at 10:28:07PM +0200, Rafael J. Wysocki wrote:
> 
> OK, I guess this is as good as it gets.
> 
> What tree would you like it go through?

Since rest of the patches are dependent upon 1st patch which should go thru
your tree, we should merge this thru your tree

Thanks
-- 
~Vinod

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-24 20:32       ` Felipe Balbi
@ 2014-09-25  7:57         ` Vinod Koul
  2014-09-25 14:22           ` Felipe Balbi
  0 siblings, 1 reply; 16+ messages in thread
From: Vinod Koul @ 2014-09-25  7:57 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, linux-mmc,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, Jingoo Han, Seungwon Jeon,
	Jaehoon Chung, Jani Nikula, Tomi Valkeinen, Alan Stern,
	Ben Skeggs, Bjorn Andersson, Wolfram Sang


[-- Attachment #1.1: Type: text/plain, Size: 1306 bytes --]

On Wed, Sep 24, 2014 at 03:32:19PM -0500, Felipe Balbi wrote:
> > > > 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.
and yes that is what it tries to do nothing more nothing less. If in future
there are no users (today we have quite a few), then we can remove the dead
macro, no harm. But that is not the situation today.

Thanks
-- 
~Vinod


[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend()
  2014-09-24 17:54   ` Pavel Machek
@ 2014-09-25  8:00     ` Vinod Koul
  0 siblings, 0 replies; 16+ messages in thread
From: Vinod Koul @ 2014-09-25  8:00 UTC (permalink / raw)
  To: Pavel Machek
  Cc: linux-kernel, subhransu.s.prusty, Rafael J. Wysocki, Len Brown,
	Randy Dunlap, Ulf Hansson, Alan Stern, linux-pm, linux-doc

On Wed, Sep 24, 2014 at 07:54:10PM +0200, Pavel Machek wrote:
> On Wed 2014-09-24 21:44:51, Vinod Koul wrote:
> > From: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
> > 
> > pm_runtime_mark_last_busy and pm_runtime_put_autosuspend are used together
> > in quite a lot of places. Add a helper for these.
> > Also updated Documentation for this
> 
> With function name as long as the implementation... I'm not sure if
> this is good helper :-).
am all ears if that is a general consensus to cut down on length and
suggestions welcome :)

-- 
~Vinod

> 									Pavel
> 
> > +static inline int pm_runtime_last_busy_and_autosuspend(struct device *dev)
> > +{
> > +	pm_runtime_mark_last_busy(dev);
> > +	return pm_runtime_put_autosuspend(dev);
> > +}
> 
> -- 
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

-- 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend()
  2014-09-24 16:14 ` [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend() Vinod Koul
  2014-09-24 17:54   ` Pavel Machek
@ 2014-09-25  8:13   ` Ulf Hansson
  1 sibling, 0 replies; 16+ messages in thread
From: Ulf Hansson @ 2014-09-25  8:13 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-kernel@vger.kernel.org, subhransu.s.prusty,
	Rafael J. Wysocki, Len Brown, Pavel Machek, Randy Dunlap,
	Alan Stern, linux-pm@vger.kernel.org, linux-doc@vger.kernel.org

On 24 September 2014 18:14, Vinod Koul <vinod.koul@intel.com> wrote:
> From: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
>
> pm_runtime_mark_last_busy and pm_runtime_put_autosuspend are used together
> in quite a lot of places. Add a helper for these.
> Also updated Documentation for this
>
> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
> ---
>  Documentation/power/runtime_pm.txt |    4 ++++
>  include/linux/pm_runtime.h         |    6 ++++++
>  2 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt
> index f32ce54..5d9565b 100644
> --- a/Documentation/power/runtime_pm.txt
> +++ b/Documentation/power/runtime_pm.txt
> @@ -490,6 +490,10 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h:
>        power.use_autosuspend isn't set, otherwise returns the expiration time
>        in jiffies
>
> +   int pm_runtime_last_busy_and_autosuspend(struct device *dev);
> +    - invoke pm_runtime_mark_last_busy(dev) and then run
> +      pm_runtime_put_autosuspend(dev) and return its result
> +
>  It is safe to execute the following helper functions from interrupt context:
>
>  pm_request_idle()
> diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
> index 367f49b..256ec50 100644
> --- a/include/linux/pm_runtime.h
> +++ b/include/linux/pm_runtime.h
> @@ -277,4 +277,10 @@ static inline void pm_runtime_dont_use_autosuspend(struct device *dev)
>         __pm_runtime_use_autosuspend(dev, false);
>  }
>
> +static inline int pm_runtime_last_busy_and_autosuspend(struct device *dev)

This doesn't help code readability I think. The function name is quite
long as Pavel also pointed out. :-)

And, I also lack the "put" prefix, following the other functions in
the runtime PM API - which would make the name even longer. :-)

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-25  7:57         ` Vinod Koul
@ 2014-09-25 14:22           ` Felipe Balbi
  2014-09-25 14:27             ` Wolfram Sang
  0 siblings, 1 reply; 16+ messages in thread
From: Felipe Balbi @ 2014-09-25 14:22 UTC (permalink / raw)
  To: Vinod Koul
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, linux-mmc,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, Jingoo Han, Seungwon Jeon,
	Jaehoon Chung, Jani Nikula, Tomi Valkeinen, Alan Stern,
	Ben Skeggs, Bjorn Andersson, Wolfram Sang


[-- Attachment #1.1: Type: text/plain, Size: 1737 bytes --]

On Thu, Sep 25, 2014 at 01:27:18PM +0530, Vinod Koul wrote:
> On Wed, Sep 24, 2014 at 03:32:19PM -0500, Felipe Balbi wrote:
> > > > > 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.
> and yes that is what it tries to do nothing more nothing less. If in future
> there are no users (today we have quite a few), then we can remove the dead
> macro, no harm. But that is not the situation today.

as I said, a commit that's bound to be useless. It's not like you're
saving 10 lines of code, it's only one. Replacing two simple lines with
a function which takes <joke> almost as many characters to type </joke>.

IMO, this is pretty useless and I'd rather not see them in the drivers I
maintain, sorry.

cheers

-- 
balbi

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-25 14:22           ` Felipe Balbi
@ 2014-09-25 14:27             ` Wolfram Sang
  2014-09-25 19:54               ` Rafael J. Wysocki
  0 siblings, 1 reply; 16+ messages in thread
From: Wolfram Sang @ 2014-09-25 14:27 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, linux-mmc,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, Vinod Koul, Jingoo Han,
	Seungwon Jeon, Jaehoon Chung, Jani Nikula, Tomi Valkeinen,
	Alan Stern, Ben Skeggs, Bjorn Andersson


[-- Attachment #1.1: Type: text/plain, Size: 1937 bytes --]

On Thu, Sep 25, 2014 at 09:22:01AM -0500, Felipe Balbi wrote:
> On Thu, Sep 25, 2014 at 01:27:18PM +0530, Vinod Koul wrote:
> > On Wed, Sep 24, 2014 at 03:32:19PM -0500, Felipe Balbi wrote:
> > > > > > 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.
> > and yes that is what it tries to do nothing more nothing less. If in future
> > there are no users (today we have quite a few), then we can remove the dead
> > macro, no harm. But that is not the situation today.
> 
> as I said, a commit that's bound to be useless. It's not like you're
> saving 10 lines of code, it's only one. Replacing two simple lines with
> a function which takes <joke> almost as many characters to type </joke>.
> 
> IMO, this is pretty useless and I'd rather not see them in the drivers I
> maintain, sorry.

It is not a NACK from me; yet from a high-level perspective I agree with
Felipe.


[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-25 14:27             ` Wolfram Sang
@ 2014-09-25 19:54               ` Rafael J. Wysocki
  2014-09-28 15:37                 ` Vinod Koul
  0 siblings, 1 reply; 16+ messages in thread
From: Rafael J. Wysocki @ 2014-09-25 19:54 UTC (permalink / raw)
  To: Wolfram Sang, Vinod Koul
  Cc: linux-wireless, Baruch Siach, patches, linux-doc, Seungwon Jeon,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, Jingoo Han, Jaehoon Chung,
	Jani Nikula, Tomi Valkeinen, Alan Stern, Ben Skeggs,
	Bjorn Andersson, Dave Airlie, Ulf Hansson <ulf.hanss>

On Thursday, September 25, 2014 04:27:58 PM Wolfram Sang wrote:
> 
> --Bn2rw/3z4jIqBvZU
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
> Content-Transfer-Encoding: quoted-printable
> 
> On Thu, Sep 25, 2014 at 09:22:01AM -0500, Felipe Balbi wrote:
> > On Thu, Sep 25, 2014 at 01:27:18PM +0530, Vinod Koul wrote:
> > > On Wed, Sep 24, 2014 at 03:32:19PM -0500, Felipe Balbi wrote:
> > > > > > > OK, I guess this is as good as it gets.
> > > > > > >=20
> > > > > > > What tree would you like it go through?
> > > > > >=20
> > > > > > 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 t=
> his
> > > > > > change. I wonder if it's really valid...
> > > > >=20
> > > > > I'm not sure I'm following?  This seems to simply implement what dr=
> ivers
> > > > > have been doing already as one function.  Why would it be invalid t=
> o reduce
> > > > > code duplication?
> > > >=20
> > > > For two reasons:
> > > >=20
> > > > 1) the helper has no inteligence whatsoever. It just calls the same
> > > > functions.
> > > >=20
> > > > 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 th=
> at
> > > > needs to change.
> > > >=20
> > > > 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.
> > > and yes that is what it tries to do nothing more nothing less. If in fu=
> ture
> > > there are no users (today we have quite a few), then we can remove the =
> dead
> > > macro, no harm. But that is not the situation today.
> >=20
> > as I said, a commit that's bound to be useless. It's not like you're
> > saving 10 lines of code, it's only one. Replacing two simple lines with
> > a function which takes <joke> almost as many characters to type </joke>.
> >=20
> > IMO, this is pretty useless and I'd rather not see them in the drivers I
> > maintain, sorry.
> 
> It is not a NACK from me; yet from a high-level perspective I agree with
> Felipe.

OK

I'd rather not merge something that driver people don't want to use.

Vinod?

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper
  2014-09-25 19:54               ` Rafael J. Wysocki
@ 2014-09-28 15:37                 ` Vinod Koul
  0 siblings, 0 replies; 16+ messages in thread
From: Vinod Koul @ 2014-09-28 15:37 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: linux-wireless, Baruch Siach, patches, Wolfram Sang, linux-mmc,
	Daniel Vetter, Chris Ball, dri-devel, Marcin Wojtas,
	Rafael J. Wysocki, Laurent Pinchart, David Herrmann,
	Shinya Kuribayashi, Laurent Pinchart, Jingoo Han, Seungwon Jeon,
	Jaehoon Chung, Jani Nikula, Tomi Valkeinen, Alan Stern,
	Ben Skeggs, Bjorn Andersson, Dave Airlie <airlied@

On Thu, Sep 25, 2014 at 09:54:36PM +0200, Rafael J. Wysocki wrote:
> On Thursday, September 25, 2014 04:27:58 PM Wolfram Sang wrote:
> > 
> > --Bn2rw/3z4jIqBvZU
> > Content-Type: text/plain; charset=us-ascii
> > Content-Disposition: inline
> > Content-Transfer-Encoding: quoted-printable
> > 
> > On Thu, Sep 25, 2014 at 09:22:01AM -0500, Felipe Balbi wrote:
> > > On Thu, Sep 25, 2014 at 01:27:18PM +0530, Vinod Koul wrote:
> > > > On Wed, Sep 24, 2014 at 03:32:19PM -0500, Felipe Balbi wrote:
> > > > > > > > OK, I guess this is as good as it gets.
> > > > > > > >=20
> > > > > > > > What tree would you like it go through?
> > > > > > >=20
> > > > > > > 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 t=
> > his
> > > > > > > change. I wonder if it's really valid...
> > > > > >=20
> > > > > > I'm not sure I'm following?  This seems to simply implement what dr=
> > ivers
> > > > > > have been doing already as one function.  Why would it be invalid t=
> > o reduce
> > > > > > code duplication?
> > > > >=20
> > > > > For two reasons:
> > > > >=20
> > > > > 1) the helper has no inteligence whatsoever. It just calls the same
> > > > > functions.
> > > > >=20
> > > > > 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 th=
> > at
> > > > > needs to change.
> > > > >=20
> > > > > 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.
> > > > and yes that is what it tries to do nothing more nothing less. If in fu=
> > ture
> > > > there are no users (today we have quite a few), then we can remove the =
> > dead
> > > > macro, no harm. But that is not the situation today.
> > >=20
> > > as I said, a commit that's bound to be useless. It's not like you're
> > > saving 10 lines of code, it's only one. Replacing two simple lines with
> > > a function which takes <joke> almost as many characters to type </joke>.
> > >=20
> > > IMO, this is pretty useless and I'd rather not see them in the drivers I
> > > maintain, sorry.
> > 
> > It is not a NACK from me; yet from a high-level perspective I agree with
> > Felipe.
> 
> OK
> 
> I'd rather not merge something that driver people don't want to use.
> 
> Vinod?
There have been quite a few ACKs as well. Either way am okay. If you feel
this will get removed as discussed, then there is no point in merging

-- 
~Vinod

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2014-09-28 15:37 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-24 16:14 [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Vinod Koul
2014-09-24 16:14 ` [PATCH 01/27] PM: Add helper pm_runtime_last_busy_and_autosuspend() Vinod Koul
2014-09-24 17:54   ` Pavel Machek
2014-09-25  8:00     ` Vinod Koul
2014-09-25  8:13   ` Ulf Hansson
2014-09-24 16:15 ` [PATCH 20/27] pm2301-charger: use pm_runtime_last_busy_and_autosuspend helper Vinod Koul
2014-09-24 20:28 ` [PATCH 00/27] add pm_runtime_last_busy_and_autosuspend() helper Rafael J. Wysocki
2014-09-24 20:15   ` Felipe Balbi
2014-09-24 20:46     ` Rafael J. Wysocki
2014-09-24 20:32       ` Felipe Balbi
2014-09-25  7:57         ` Vinod Koul
2014-09-25 14:22           ` Felipe Balbi
2014-09-25 14:27             ` Wolfram Sang
2014-09-25 19:54               ` Rafael J. Wysocki
2014-09-28 15:37                 ` Vinod Koul
2014-09-25  7:46   ` Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).