All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Andersson <eric.andersson@unixphere.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	zhengguang.guo@bosch-sensortec.com, stefan.nilsson@unixphere.com,
	alan@lxorguk.ukuu.org.uk, jic23@cam.ac.uk,
	Albert Zhang <xu.zhang@bosch-sensortec.com>
Subject: Re: [PATCH v6 1/1] input: add driver for Bosch Sensortec's BMA150 accelerometer
Date: Sun, 31 Jul 2011 00:49:17 +0200	[thread overview]
Message-ID: <20110730224917.GA8519@skinner.xfiles.lan> (raw)
In-Reply-To: <20110730191726.GG5686@core.coreip.homeip.net>

> > +static int bma150_open(struct bma150_data *bma150)
> > +{
> > +	int ret;
> > +
> > +	ret = pm_runtime_set_active(&bma150->client->dev);
> > +	if (ret < 0)
> > +		return ret;
> > +
> > +	pm_runtime_enable(&bma150->client->dev);
> 
> I am pretty sure you want to call pm_runtime_enable() in bma150_probe()
> so that parent controller can be suspended until somebody calls
> bma150_open() and we mark the device as active (which, in turn, should
> wake up its parent).

If I call pm_runtime_enable() I cannot use pm_runtime_set_active() later
according to the comment in __pm_runtime_set_status (runtime.c):
"If runtime PM of the device is disabled or its power.runtime_error
field is different from zero, the status may be changed either to
RPM_ACTIVE, or to RPM_SUSPENDED..."

If the PM of the device is enabled it will return -EAGAIN. Of course, we
could enable() in probe, then disable(); set_active(); enable(); in
open, but that seems a bit confused, right?

> > +
> > +	return bma150_set_mode(bma150->client, BMA150_MODE_NORMAL);
> > +}
> > +
> > +static void bma150_close(struct bma150_data *bma150)
> > +{
> > +	pm_runtime_disable(&bma150->client->dev);
> 
> And disable should go into bma150_remove() unless I misunderstand
> runtime PM framework.

This is once again to make sure the PM is disabled when changing status.

I am not entirely familiar with the details of runtime PM, but either
the above works or we have to revert back to using #ifdefs which I would
prefer not to.

-- 
Best regards,
 Eric

http://www.unixphere.com

  reply	other threads:[~2011-07-30 22:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-27 20:53 [PATCH v6 0/1] input: add driver for Bosch Sensortec's BMA150 accelerometer Eric Andersson
2011-07-27 20:53 ` [PATCH v6 1/1] " Eric Andersson
2011-07-28  8:10   ` Jonathan Cameron
2011-07-30 19:17   ` Dmitry Torokhov
2011-07-30 22:49     ` Eric Andersson [this message]
2011-07-31  7:08       ` Dmitry Torokhov
     [not found]         ` <CAH+e7S2LU7zr6fcp+f+2UuzyXX_=icBa4OtO7m1YQQ2BtOyMAQ@mail.gmail.com>
2011-08-07 16:23           ` Eric Andersson
2011-08-07 16:23             ` Eric Andersson
2011-08-08  5:15             ` Dmitry Torokhov
2011-08-08  5:15               ` Dmitry Torokhov
2011-08-08 20:27               ` Eric Andersson
2011-08-08 20:27                 ` Eric Andersson

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=20110730224917.GA8519@skinner.xfiles.lan \
    --to=eric.andersson@unixphere.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jic23@cam.ac.uk \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stefan.nilsson@unixphere.com \
    --cc=xu.zhang@bosch-sensortec.com \
    --cc=zhengguang.guo@bosch-sensortec.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.