linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* pm_runtime_suspended() and non-pm_runtime-using (i2c) drivers
@ 2010-12-14 15:54 Rabin Vincent
       [not found] ` <AANLkTik7D2mDJN=BaasvLa4xx0fQBgjHREqQB06aD9JU-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 16+ messages in thread
From: Rabin Vincent @ 2010-12-14 15:54 UTC (permalink / raw)
  To: rjw-KKrjLPT3xs0
  Cc: linux-pm-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA

Hello,

If an i2c driver uses dev_pm_ops and pm_runtime_suspended() returns true
for the device,  the i2c core will not call the driver's pm->suspend()
routine.  Similar behaviour (except for the if dev_pm_ops check) is
present in the generic PM ops provided in
drivers/base/power/generic_ops.c.

Since pm_runtime_suspended() returns true if the relevant driver did not
call any pm_runtime functions, this means that any driver which does not
use pm_runtime APIs will not get its pm->suspend() callback called
during system sleep, if CONFIG_PM_RUNTIME is enabled.

For the i2c case, there are several such drivers (in drivers/input/*,
etc) lacking these calls.  How is this to be handled?  Do all of these
drivers need to be patched to use the pm_runtime API if they are to be
used on a kernel with PM_RUNTIME enabled?

thanks,
Rabin

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

end of thread, other threads:[~2010-12-15 23:39 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-14 15:54 pm_runtime_suspended() and non-pm_runtime-using (i2c) drivers Rabin Vincent
     [not found] ` <AANLkTik7D2mDJN=BaasvLa4xx0fQBgjHREqQB06aD9JU-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-14 16:16   ` [linux-pm] " Alan Stern
     [not found]     ` <Pine.LNX.4.44L0.1012141114150.2087-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-12-14 16:40       ` Mark Brown
     [not found]         ` <20101214164059.GE5723-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2010-12-14 17:44           ` Alan Stern
     [not found]             ` <Pine.LNX.4.44L0.1012141236530.2087-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-12-14 18:09               ` Mark Brown
     [not found]                 ` <20101214180941.GB13644-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2010-12-14 19:10                   ` Alan Stern
     [not found]                     ` <Pine.LNX.4.44L0.1012141406500.2087-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-12-14 22:00                       ` Mark Brown
     [not found]                         ` <20101214220050.GB25106-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2010-12-14 23:03                           ` Alan Stern
     [not found]                             ` <Pine.LNX.4.44L0.1012141754190.2087-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-12-14 23:19                               ` Mark Brown
2010-12-15  0:15                       ` Rafael J. Wysocki
2010-12-14 23:28       ` Rafael J. Wysocki
     [not found]         ` <201012150028.07938.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-14 23:57           ` Rafael J. Wysocki
     [not found]             ` <201012150057.31237.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-15  0:19               ` Rafael J. Wysocki
     [not found]                 ` <201012150119.59801.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-15 20:38                   ` Alan Stern
     [not found]                     ` <Pine.LNX.4.44L0.1012151530590.2171-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2010-12-15 22:01                       ` Rafael J. Wysocki
     [not found]                         ` <201012152301.18700.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-15 23:39                           ` Rafael J. Wysocki

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