[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111205195254.2d2f21a1@notabene.brown>
Date: Mon, 5 Dec 2011 19:52:54 +1100
From: NeilBrown <neilb@...e.de>
To: Chen Peter-B29397 <B29397@...escale.com>
Cc: Ming Lei <tom.leiming@...il.com>,
"Rafael J. Wysocki" <rjw@...k.pl>, Greg KH <greg@...ah.com>,
"gregkh@...e.de" <gregkh@...e.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"stern@...land.harvard.edu" <stern@...land.harvard.edu>,
"hzpeterchen@...il.com" <hzpeterchen@...il.com>,
Igor Grinberg <grinberg@...pulab.co.il>
Subject: Re: [PATCH 1/1] driver core: disable device's runtime pm during
shutdown
On Mon, 5 Dec 2011 08:32:27 +0000 Chen Peter-B29397 <B29397@...escale.com>
wrote:
>
> > > > stays
> > > > > > asleep, omap_i2c_xfer cannot wake it, the transfer doesn't happen
> > and
> > > > the
> > > > > > system doesn't get powered off.
> > > > > >
> > > > > > So here is a device that should *not* have pm disabled at
> > shutdown.
> > > > > >
> > > > > > So I feel this fix is a little too heavy-handed.
> > > > >
> > > > > Maybe the device's runtime PM should not be disabled if
> > > > > there is no ->shutdown defined in its driver, how about the blew?
> > > >
> > > > Thanks, but that won't actually help.
> > > >
> > > > dev->bus->shutdown is i2c_device_shutdown so there is a shutdown
> > method.
> > > > However i2c_device_shutdown just finds the driver can calls
> > > > driver->shutdown(), and that is the 'shutdown' that is NULL.
> > > >
> > > Then, i2c should be registered before than twl4030 as a platform device,
> > since
> > > twl4030 is an i2c device. Just let i2c shut down later than twl4030's.
> >
> > It almost certainly is, but that is totally irrelevant.
> >
> > The problem has nothing to do with ordering and nothing much to do with
> > ->shutdown() being called.
> >
> > The problem is simply that pm_runtime_disable() is being called on all
> > devices, and that stops devices that are asleep from waking up.
> >
> Please correct me if I am wrong
> 1. This change only affects when the user issues "reboot" or "shutdown"
well "halt -p" or "poweroff", but yes.
> 2. The pm_runtime_disable(dev) is only be called before this "dev" is
> coming to shutdown
Yes, but the important point is that is being called before pm_power_off is
called.
> 3. If i2c bus/driver->shutdown is not called, its runtime pm is still enabled.
I think you mean "disabled" ??
Yes, but I don't see how that is relevant.
> 4. You may issue i2c xfer after i2c bus/driver->shutdown is called.
Yes, but again I cannot see the relevance.
NeilBrown
>
> > I think the intention of putting that call in was to stop devices that
> > are
> > awake from going to sleep, and maybe that is justified. But stopping
> > devices
> > that are asleep from waking up isn't.
> >
> > NeilBrown
> >
> >
> > >
> > > > Thanks,
> > > > NeilBrown
> > > >
> > > >
> > > >
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)
Powered by blists - more mailing lists