mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Feuerer <peter@piie.net>
To: Borislav Petkov <petkovbb@googlemail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	lenb@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] acerhdf: convert to dev_pm_ops
Date: Tue, 28 Jul 2009 09:25:02 +0200	[thread overview]
Message-ID: <cone.1248765902.464745.15136.1000@arca> (raw)
In-Reply-To: <20090727183733.GB3044@liondog.tnic>

Borislav Petkov writes:

> On Mon, Jul 27, 2009 at 08:55:51AM -0700, Dmitry Torokhov wrote:
>> On Thu, Jul 23, 2009 at 02:53:17PM +0200, Borislav Petkov wrote:
>> > > Dmitry's right, suspend() and resume() are used only for S2R. Since
>> > > the only thing we do when suspending/hibernating is set fan speed to
>> > > auto, we might just as well replicate those functions to .freeze() and
>> > > .thaw().
>> > 
>> > here's a fix:
>> > 
>> > --
>> > From: Borislav Petkov <petkovbb@gmail.com>
>> > Date: Wed, 15 Jul 2009 17:33:32 +0200
>> > Subject: [PATCH] acerhdf: convert to dev_pm_ops
>> > 
>> > v 1.1:
>> > Add .freeze/.thaw func ptrs to support
>> > suspend-to-disk, as suggested by Dmitry Torokhov.
>> > 
>> > Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
>> > ---
>> >  drivers/platform/x86/acerhdf.c |   16 +++++++++++-----
>> >  1 files changed, 11 insertions(+), 5 deletions(-)
>> > 
>> > diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c
>> > index aa298d6..8cd7a7b 100644
>> > --- a/drivers/platform/x86/acerhdf.c
>> > +++ b/drivers/platform/x86/acerhdf.c
>> > @@ -435,7 +435,7 @@ struct thermal_cooling_device_ops acerhdf_cooling_ops = {
>> >  };
>> > 
>> >  /* suspend / resume functionality */
>> > -static int acerhdf_suspend(struct platform_device *dev, pm_message_t state)
>> > +static int acerhdf_suspend(struct device *dev)
>> >  {
>> >  	if (kernelmode)
>> >  		acerhdf_change_fanstate(ACERHDF_FAN_AUTO);
>> > @@ -446,7 +446,7 @@ static int acerhdf_suspend(struct platform_device
>> > *dev, pm_message_t state)
>> >  	return 0;
>> >  }
>> > 
>> > -static int acerhdf_resume(struct platform_device *device)
>> > +static int acerhdf_resume(struct device *dev)
>> >  {
>> >  	if (verbose)
>> >  		pr_notice("resuming\n");
>> > @@ -464,15 +464,21 @@ static int acerhdf_remove(struct platform_device *device)
>> >  	return 0;
>> >  }
>> > 
>> > +static struct dev_pm_ops acerhdf_pm_ops = {
>> > +	.suspend = acerhdf_suspend,
>> > +	.resume  = acerhdf_resume,
>> > +	.freeze  = acerhdf_suspend,
>> > +	.thaw	 = acerhdf_resume,
>> > +};
>> > +
>> 
>> Hmm, looking at the driver I think the only function that actually is
>> needed is poweroff() that would turn the fan in automatic mode before
>> shutting down. The driver does not perform any actions when resuming so
>> why bother?
> 
> Agreed.
> 
> Also, the fan comes out of warm and cold reboot in mode AUTO and
> when the driver is enabled, the fan is turned off on the next run of
> thermal_zone_device_update() when the read out temperature is within
> limits.
> 
> Correct me if I'm wrong, but the only reason I see for setting the
> fan to mode AUTO before suspending/hibernating/etc is if it is taking
> a really long time to hibernate and write RAM image to disk and the
> machine is getting hot during that process. Otherwise, we might just
> as well do _nothing_ when suspending and remove all suspend/resume
> functionality altogether, no?

This is right, currently the only reason for calling the suspend / 
hibernate functions is to set the fan to auto to ensure it doesn't get too 
hot while the kernel prepares the machine to suspend / hibernate.

I don't see a way to remove those functionality completely and I would like 
to keep the resume function too. It's a nice to see what's happening with 
verbose=1.

kind regards,
--peter

  reply	other threads:[~2009-07-28  7:27 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-15 15:48 Borislav Petkov
2009-07-15 18:36 ` Peter Feuerer
2009-07-23  8:29   ` Dmitry Torokhov
2009-07-23  8:52     ` Peter Feuerer
2009-07-23  9:21       ` Borislav Petkov
2009-07-23 12:53         ` Borislav Petkov
2009-07-27  9:07           ` Peter Feuerer
2009-07-27 15:55           ` Dmitry Torokhov
2009-07-27 18:37             ` Borislav Petkov
2009-07-28  7:25               ` Peter Feuerer [this message]
2009-07-28  9:08                 ` Borislav Petkov
2009-07-28 13:25                   ` Peter Feuerer
2009-07-28 13:59                     ` Borislav Petkov
2009-07-29  7:25                       ` Peter Feuerer
2009-07-29 11:55                         ` Borislav Petkov

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=cone.1248765902.464745.15136.1000@arca \
    --to=peter@piie.net \
    --cc=dmitry.torokhov@gmail.com \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=petkovbb@googlemail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®