public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: linux-pm@lists.linux-foundation.org
Cc: linux-pm@lists.osdl.org, devel@laptop.org, linux-acpi@vger.kernel.org
Subject: Re: Power Mangement Interfaces
Date: Sat, 31 Mar 2007 09:52:43 -0700	[thread overview]
Message-ID: <200703310952.43696.david-b@pacbell.net> (raw)
In-Reply-To: <20070330235759.GC4252@cosmic.amd.com>

On Friday 30 March 2007 4:57 pm, Jordan Crouse wrote:
> Hey all -
> 
> I'm happy to report that the OLPC power management effort is proceeding
> nicely.  We have suspend to RAM functional, and the system is resuming
> back to the framebuffer console.

Good to hear that.  Now, if the same could be said for the *typical* PC
platform, I'd be much happier!


> We have the usual blips (USB), but 
> those will be resolved in the fullness of time.

USB once worked fine (I spent more than enough time testing it in all
kinds of configs) but usbcore has changed a lot since then ... I hear
that some of the root hub stuff got broken.


> I am now turning my attention to handling wakeup events - in particular,
> events that we can set at run-time.  My thoughts on the matter are 
> detailed here:
> 
> http://wiki.laptop.org/go/Power_Management_Interface

You seem to be completely ignoring the /sys/devices/..../power/wakeup
event attributes.  Why?

 
> I use the ACPI wakeup infrastructure as an example because a) it exists,
> and b) it works. 

In my experience, (a) is true and (b) is very false.

Minimally, (b) is false because resuming from S1 or S3 sleep
states doesn't generally work under Linux, regardless of the
type of wakeup event.  The recent IDEACPI patch made a big
difference on at least one system though.

Another reason (b) is false is that it only handles built-in
devices.  Taking USB as an example, ACPI only knows about the
root hubs ... but not the fact that a USB mouse or keyboard
can be a wakeup event source.  The /sys/devices/.../wakeup
files manage those.


> However, it doesn't share nicely, and it is a /proc 
> file, so I sat down and thought of a more /sysfs friendly and generic
> model.  I did keep APCI in mind, figuring that if a generic framework was
> designed well enough, they could slowly transition over as well (which is
> why the ACPI list is CCed).

To the extent that Linux ever has a "plan of record", it's that ACPI will
transition /proc/acpi/wakeup contents into /sys/devices/.../power/wakeup
as part of removing the /proc/acpi stuff entirely.

That is:  there *IS ALREADY* a generic framework for wakeup events, one
that's already deployed ... and used for various devices.

As with most PM-related things on Linux, there's an issue with getting
decent cross-platform support for it.  However, that generic stuff does
work on various embedded systems.  Probably the best examples are ARM
AT91 platforms ... where most of the devices (USB, MMC, CF, UART, more)
can be trigger system wakeup events.  In several cases that's just by
enable_irq_wake() doing the right thing, and drivers knowing how to use
that call, but in other cases (like USB) it's more involved than that.

- Dave

  parent reply	other threads:[~2007-03-31 16:52 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-30 23:57 Power Mangement Interfaces Jordan Crouse
2007-03-31  0:18 ` Johannes Berg
2007-03-31  0:21   ` Johannes Berg
2007-03-31  4:33     ` [linux-pm] " Gopi P.M.
2007-03-31 15:20     ` Jordan Crouse
2007-03-31 16:12     ` David Brownell
2007-03-31 15:16   ` Jordan Crouse
2007-04-02  7:38     ` [linux-pm] " Pavel Machek
2007-03-31 16:57   ` David Brownell
2007-04-04 16:15     ` Johannes Berg
2007-04-04 18:44       ` David Brownell
2007-04-04 21:49         ` Johannes Berg
2007-04-05  5:05           ` David Brownell
2007-04-05  8:02             ` Johannes Berg
2007-04-05  8:32         ` Zhang Rui
2007-03-31 16:52 ` David Brownell [this message]
2007-03-31 18:16   ` Jordan Crouse
2007-03-31 18:57     ` David Brownell
2007-04-01  1:01       ` Jordan Crouse
2007-04-01  3:01         ` David Brownell
     [not found]         ` <200703312001.55231.david-b@pacbell.net>
2007-04-01 16:56           ` Jordan Crouse
     [not found]           ` <20070401165601.GA13389@cosmic.amd.com>
2007-04-02  0:28             ` David Brownell
     [not found]             ` <200704011728.10966.david-b@pacbell.net>
2007-04-02 16:55               ` Jordan Crouse
2007-06-19 17:00               ` Marcelo Tosatti
     [not found]               ` <20070619170048.GA342@dmt.media.mit.edu>
2007-06-19 19:17                 ` Jens Axboe
2007-06-19 19:41                 ` Woodruff, Richard
2007-06-21  1:30                 ` David Brownell
     [not found]                 ` <200706201830.52277.david-b@pacbell.net>
2007-07-08 22:10                   ` [PATCH] add powerbutton and lid platform devices Marcelo Tosatti
     [not found]                   ` <20070708221027.GA4964@dmt>
2007-07-09 15:05                     ` Jordan Crouse
     [not found]                     ` <20070709150545.GD31533@cosmic.amd.com>
2007-07-09 16:30                       ` David Brownell
     [not found]                       ` <200707090930.26973.david-b@pacbell.net>
2007-07-09 16:36                         ` Jordan Crouse
2007-07-16  8:51                         ` Richard Hughes
2007-07-16 17:11                       ` C. Scott Ananian
     [not found]               ` <20070402165511.GD5024@cosmic.amd.com>
2007-04-02 17:53                 ` Power Mangement Interfaces David Brownell
2007-07-08  3:46                 ` rtc-cmos not supporting RTC_AIE? Marcelo Tosatti
2007-07-08  3:49                 ` [PATCH] rtc-cmos: use cmos_rtc_board_info to determine wake_on callback Marcelo Tosatti
2007-07-08  3:55                 ` [PATCH] OLPC rtc-cmos support Marcelo Tosatti
     [not found]                 ` <20070708034953.GB19633@dmt>
2007-07-08  5:06                   ` [PATCH] rtc-cmos: use cmos_rtc_board_info to determine wake_on callback David Brownell
     [not found]                 ` <20070708035504.GC19633@dmt>
2007-07-08  5:13                   ` [PATCH] OLPC rtc-cmos support David Brownell
     [not found]                   ` <200707072213.41028.david-b@pacbell.net>
2007-07-08 18:40                     ` Marcelo Tosatti
     [not found]                     ` <20070708184035.GA20078@dmt>
2007-07-08 19:10                       ` David Brownell
     [not found]                       ` <200707081210.51145.david-b@pacbell.net>
2007-07-08 20:17                         ` Marcelo Tosatti
     [not found]                         ` <20070708201747.GA13115@dmt>
2007-07-08 20:47                           ` David Brownell
     [not found]                 ` <20070708034633.GA19633@dmt>
2007-07-08  5:26                   ` rtc-cmos not supporting RTC_AIE? David Brownell
     [not found]                   ` <200707072226.50069.david-b@pacbell.net>
2007-07-08 19:03                     ` Marcelo Tosatti
     [not found]                     ` <20070708190350.GB20078@dmt>
2007-07-08 19:17                       ` David Brownell
     [not found]                       ` <200707081217.53071.david-b@pacbell.net>
2007-07-08 19:31                         ` Richard Hughes
     [not found]                         ` <1183923098.2814.8.camel@work>
2007-07-08 20:15                           ` Hibernate after alarm wakes from STR David Brownell
     [not found]                           ` <200707081315.40560.david-b@pacbell.net>
2007-07-08 22:31                             ` Marcelo Tosatti
     [not found]                             ` <20070708223121.GB4964@dmt>
2007-07-09  2:44                               ` David Brownell
     [not found]                               ` <200707081944.04598.david-b@pacbell.net>
2007-07-09  8:34                                 ` Richard Hughes
2007-07-09 15:40                                 ` Marcelo Tosatti
     [not found]                                 ` <20070709154014.GF27828@dmt>
2007-07-09 16:26                                   ` David Brownell
     [not found]                                   ` <200707090926.32826.david-b@pacbell.net>
2007-07-10  2:45                                     ` Nigel Cunningham
     [not found]                                     ` <200707101245.31449.nigel@nigel.suspend2.net>
2007-07-10 16:51                                       ` David Brownell
     [not found]                                       ` <200707100951.04193.david-b@pacbell.net>
2007-07-10 22:16                                         ` Nigel Cunningham
     [not found]                                         ` <200707110816.42114.nigel@nigel.suspend2.net>
2007-07-11  0:45                                           ` Matthew Garrett
     [not found]                                           ` <20070711004549.GA30249@srcf.ucam.org>
2007-07-11  0:53                                             ` Nigel Cunningham
     [not found]                                             ` <200707111053.36590.nigel@nigel.suspend2.net>
2007-07-11  1:23                                               ` Matthew Garrett
     [not found]                                               ` <20070711012301.GA30596@srcf.ucam.org>
2007-07-11  1:39                                                 ` Nigel Cunningham
     [not found]                                                 ` <200707111139.38667.nigel@nigel.suspend2.net>
2007-07-11  1:59                                                   ` Matthew Garrett
     [not found]                                                   ` <20070711015948.GA30659@srcf.ucam.org>
2007-07-11  3:14                                                     ` Nigel Cunningham
     [not found]                                                     ` <200707111314.04221.nigel@nigel.suspend2.net>
2007-07-11 10:09                                                       ` Rafael J. Wysocki
     [not found]                                                       ` <200707111209.05163.rjw@sisk.pl>
2007-07-11 10:14                                                         ` Nigel Cunningham
     [not found]                                                         ` <200707112014.28958.nigel@nigel.suspend2.net>
2007-07-11 10:31                                                           ` Rafael J. Wysocki
2007-07-11 16:04                                           ` David Brownell
     [not found]                                           ` <200707110904.33696.david-b@pacbell.net>
2007-07-11 22:48                                             ` Nigel Cunningham
     [not found]           ` <1175509422.5321.37.camel@localhost.localdomain>
2007-04-02 18:24             ` Power Mangement Interfaces David Brownell
     [not found]             ` <200704021124.21926.david-b@pacbell.net>
2007-04-02 19:40               ` Matthew Garrett
     [not found]               ` <20070402194039.GA8044@srcf.ucam.org>
2007-04-02 21:31                 ` David Brownell
2007-04-05  8:20               ` Zhang Rui
2007-04-02 10:07       ` Zhang Rui
2007-03-31 19:14     ` Jim Gettys
2007-04-02  9:36 ` Zhang Rui

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200703310952.43696.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=devel@laptop.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=linux-pm@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox