linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Pavel Machek <pavel@ucw.cz>,
	Alan Stern <stern@rowland.harvard.edu>,
	Dominik Brugger <ml.dominik83@gmx.net>,
	kernel list <linux-kernel@vger.kernel.org>,
	linux-usb-devel@lists.sourceforge.net
Subject: Re: [linux-usb-devel] Re: OHCI problems with suspend/resume
Date: Thu, 31 Jul 2003 14:55:53 -0700	[thread overview]
Message-ID: <3F299069.1010905@pacbell.net> (raw)
In-Reply-To: <1059686596.7187.153.camel@gaston>

Benjamin Herrenschmidt wrote:
> 
> You should look at Patrick Mochel's stuff that shall be getting in
> the official tree this month hopefully. It does that (among others)

OK, thanks for the update.  It was puzzling to see this stuff
in such a state ... I've got a few patches for USB PM that are
worth putting back in advance of that, but it seems like real
testing will need to wait until "next month".  (Tomorrow!)


> The USB "device" drivers shall just rely on the Device Model
> infrastructure to have their suspend/resume callbacks be called at the
> appropriate time. 

Yes, that's no problem.  It looks like:

   static int my_suspend(struct device *_intf, u32 state, u32 level)
   {
       struct usb_interface   *intf;
       int                    retval = 0;

       intf = to_usb_interface(_intf);
       switch (level) {
       ... cases are yet to stabilize ...
       }
       return retval;
   }

   ... similar for resume()

   static struct usb_driver my_driver {
        .owner =      THIS_MODULE,
        .name =       "MyFirstDriver",
        .probe =      my_probe,
        .disconnect = my_disconnect,
        .id_table =   my_id_table,
        .driver = {
              .suspend =    my_suspend,
              .resume =     my_resume,
         },
    };

But until the suspend()/resume() callback API stabilizes, it's
mostly useful to know that it'll be exactly that simple, and
that usbcore doesn't get in the way.


I suspect that USB should do some non-global PM stuff too.
Hub ports can be suspended when the devices connected to them
are idle for long enough ... that's not something I'd expect
system-wide PM policies to address.

- Dave



  reply	other threads:[~2003-07-31 21:52 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-23 22:08 OHCI problems with suspend/resume Pavel Machek
2003-07-24  1:19 ` [linux-usb-devel] " David Brownell
2003-07-24 10:24   ` Pavel Machek
2003-07-24 17:10     ` David Brownell
2003-07-24 22:10       ` Pavel Machek
2003-07-24 12:37 ` Dominik Brugger
2003-07-24 12:56   ` Dominik Brugger
2003-07-24 22:04   ` Pavel Machek
2003-07-24 22:46   ` Pavel Machek
2003-07-25  7:52     ` Dominik Brugger
2003-07-25 15:06       ` [linux-usb-devel] " Alan Stern
2003-07-25 17:20         ` Benjamin Herrenschmidt
2003-07-25 22:48           ` David Brownell
2003-07-26 16:02             ` Alan Stern
2003-07-26 21:01             ` Pavel Machek
2003-07-26 21:16               ` David Brownell
2003-07-27 14:57               ` Alan Stern
2003-07-31  3:27               ` David Brownell
2003-07-31  3:51                 ` David Brownell
2003-07-31  9:42                 ` Pavel Machek
2003-07-31 13:37                   ` David Brownell
2003-07-31 14:09                     ` Pavel Machek
2003-07-31 17:32                       ` David Brownell
2003-07-31 17:31                         ` Pavel Machek
2003-07-31 21:32                         ` Benjamin Herrenschmidt
2003-07-31 21:30                       ` Benjamin Herrenschmidt
2003-07-31 21:29                     ` Benjamin Herrenschmidt
2003-07-31  9:47                 ` Pavel Machek
2003-07-31 13:30                   ` David Brownell
2003-07-31 16:06                     ` Pavel Machek
2003-07-31  9:49                 ` Pavel Machek
2003-07-31 13:23                   ` David Brownell
2003-07-31 16:07                     ` Pavel Machek
2003-07-31 21:25                     ` Benjamin Herrenschmidt
2003-07-31 21:25                   ` Benjamin Herrenschmidt
2003-07-31 22:08                     ` Pavel Machek
2003-07-31 21:23                 ` Benjamin Herrenschmidt
2003-07-31 21:55                   ` David Brownell [this message]
2003-07-31 22:05                     ` Benjamin Herrenschmidt
2003-07-31 22:09                       ` Pavel Machek
2003-07-31 23:12                         ` Oliver Neukum
2003-08-01  9:33                           ` Pavel Machek
2003-07-31 22:03                   ` Pavel Machek
2003-08-01  0:27                     ` Benjamin Herrenschmidt
2003-08-04 19:25                       ` Pavel Machek
2003-08-01 18:20       ` Dominik Brugger
2003-07-29 13:16 ` [linux-usb-devel] " David Brownell
2003-07-31 14:18   ` Pavel Machek
2003-08-01 17:41     ` David Brownell
2003-08-07 22:35       ` Pavel Machek

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=3F299069.1010905@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=benh@kernel.crashing.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=ml.dominik83@gmx.net \
    --cc=pavel@ucw.cz \
    --cc=stern@rowland.harvard.edu \
    /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;
as well as URLs for NNTP newsgroup(s).