* [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled
@ 2011-03-09 12:39 Alan Cox
2011-03-09 21:45 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Alan Cox @ 2011-03-09 12:39 UTC (permalink / raw)
To: akpm, linux-kernel
From: Hong Liu <hong.liu@intel.com>
by the PM core and the device core code. No need to manually add them in
each single driver. And correct the runtime state in remove().
Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
---
drivers/misc/apds9802als.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/misc/apds9802als.c b/drivers/misc/apds9802als.c
index 644d4cd..81db781 100644
--- a/drivers/misc/apds9802als.c
+++ b/drivers/misc/apds9802als.c
@@ -245,9 +245,8 @@ static int apds9802als_probe(struct i2c_client *client,
als_set_default_config(client);
mutex_init(&data->mutex);
+ pm_runtime_set_active(&client->dev);
pm_runtime_enable(&client->dev);
- pm_runtime_get(&client->dev);
- pm_runtime_put(&client->dev);
return res;
als_error1:
@@ -255,12 +254,19 @@ als_error1:
return res;
}
-static int apds9802als_remove(struct i2c_client *client)
+static int __devexit apds9802als_remove(struct i2c_client *client)
{
struct als_data *data = i2c_get_clientdata(client);
+ pm_runtime_get_sync(&client->dev);
+
als_set_power_state(client, false);
sysfs_remove_group(&client->dev.kobj, &m_als_gr);
+
+ pm_runtime_disable(&client->dev);
+ pm_runtime_set_suspended(&client->dev);
+ pm_runtime_put_noidle(&client->dev);
+
kfree(data);
return 0;
}
@@ -275,9 +281,6 @@ static int apds9802als_suspend(struct i2c_client *client, pm_message_t mesg)
static int apds9802als_resume(struct i2c_client *client)
{
als_set_default_config(client);
-
- pm_runtime_get(&client->dev);
- pm_runtime_put(&client->dev);
return 0;
}
@@ -323,7 +326,7 @@ static struct i2c_driver apds9802als_driver = {
.pm = APDS9802ALS_PM_OPS,
},
.probe = apds9802als_probe,
- .remove = apds9802als_remove,
+ .remove = __devexit_p(apds9802als_remove),
.suspend = apds9802als_suspend,
.resume = apds9802als_resume,
.id_table = apds9802als_id,
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled
2011-03-09 12:39 [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled Alan Cox
@ 2011-03-09 21:45 ` Andrew Morton
2011-03-09 21:59 ` Alan Cox
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2011-03-09 21:45 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-kernel, Hong Liu
On Wed, 09 Mar 2011 12:39:34 +0000
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> From: Alan Cox <alan@lxorguk.ukuu.org.uk>
> To: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
> Subject: [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled
> Date: Wed, 09 Mar 2011 12:39:34 +0000
> User-Agent: StGIT/0.14.3
>
> From: Hong Liu <hong.liu@intel.com>
>
> by the PM core and the device core code. No need to manually add them in
> each single driver. And correct the runtime state in remove().
>
> Signed-off-by: Hong Liu <hong.liu@intel.com>
> Signed-off-by: Alan Cox <alan@linux.intel.com>
I'd merged this a while back but was awaiting info on why v1 had a
cc:stable so the changelog could be updated to indicate why a -stable
backport was needed.
I see that the cc:stable has been removed so that settles that. But
it's still unclear how serious the bugs-which-were fixed are. Oh well,
a bug's a bug. I put it in my 2.6.38 queue anyway.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled
2011-03-09 21:45 ` Andrew Morton
@ 2011-03-09 21:59 ` Alan Cox
2011-03-09 22:07 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Alan Cox @ 2011-03-09 21:59 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, Hong Liu
On Wed, 9 Mar 2011 13:45:04 -0800
Andrew Morton <akpm@linux-foundation.org> wrote:
> On Wed, 09 Mar 2011 12:39:34 +0000
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>
> > From: Alan Cox <alan@lxorguk.ukuu.org.uk>
> > To: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
> > Subject: [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled
> > Date: Wed, 09 Mar 2011 12:39:34 +0000
> > User-Agent: StGIT/0.14.3
> >
> > From: Hong Liu <hong.liu@intel.com>
> >
> > by the PM core and the device core code. No need to manually add them in
> > each single driver. And correct the runtime state in remove().
> >
> > Signed-off-by: Hong Liu <hong.liu@intel.com>
> > Signed-off-by: Alan Cox <alan@linux.intel.com>
>
> I'd merged this a while back but was awaiting info on why v1 had a
> cc:stable so the changelog could be updated to indicate why a -stable
> backport was needed.
>
> I see that the cc:stable has been removed so that settles that. But
> it's still unclear how serious the bugs-which-were fixed are. Oh well,
> a bug's a bug. I put it in my 2.6.38 queue anyway.
Don't think anything there is that important. Also anyone actually using
the driver would I'm pretty sure currently be running an Intel spun
kernel not a generic 2.6.older unless someone is also now relying on it
for another platform anyway.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled
2011-03-09 21:59 ` Alan Cox
@ 2011-03-09 22:07 ` Andrew Morton
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2011-03-09 22:07 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-kernel, Hong Liu
On Wed, 9 Mar 2011 21:59:32 +0000
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> On Wed, 9 Mar 2011 13:45:04 -0800
> Andrew Morton <akpm@linux-foundation.org> wrote:
>
> > On Wed, 09 Mar 2011 12:39:34 +0000
> > Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> >
> > > From: Alan Cox <alan@lxorguk.ukuu.org.uk>
> > > To: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
> > > Subject: [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled
> > > Date: Wed, 09 Mar 2011 12:39:34 +0000
> > > User-Agent: StGIT/0.14.3
> > >
> > > From: Hong Liu <hong.liu@intel.com>
> > >
> > > by the PM core and the device core code. No need to manually add them in
> > > each single driver. And correct the runtime state in remove().
> > >
> > > Signed-off-by: Hong Liu <hong.liu@intel.com>
> > > Signed-off-by: Alan Cox <alan@linux.intel.com>
> >
> > I'd merged this a while back but was awaiting info on why v1 had a
> > cc:stable so the changelog could be updated to indicate why a -stable
> > backport was needed.
> >
> > I see that the cc:stable has been removed so that settles that. But
> > it's still unclear how serious the bugs-which-were fixed are. Oh well,
> > a bug's a bug. I put it in my 2.6.38 queue anyway.
>
> Don't think anything there is that important. Also anyone actually using
> the driver would I'm pretty sure currently be running an Intel spun
> kernel not a generic 2.6.older unless someone is also now relying on it
> for another platform anyway.
OK, thanks. Let's shoot for 2.6.39 then.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-03-09 22:07 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-09 12:39 [PATCH, RESEND] Putting the device into runtime suspend after resume()/probe() is handled Alan Cox
2011-03-09 21:45 ` Andrew Morton
2011-03-09 21:59 ` Alan Cox
2011-03-09 22:07 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox