[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200710191104.45698.dmitry.torokhov@gmail.com>
Date: Fri, 19 Oct 2007 11:04:45 -0400
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: Richard Purdie <rpurdie@...ys.net>
Cc: Kristoffer Ericson <kristoffer.ericson@...il.com>,
linux-input <linux-input@...ey.karlin.mff.cuni.cz>,
linux-main <linux-kernel@...r.kernel.org>
Subject: Re: Power button policy and mechanism
Hi Richard,
On Friday 19 October 2007, Richard Purdie wrote:
> On Tue, 2007-10-16 at 10:34 -0400, Dmitry Torokhov wrote:
> > On 10/16/07, Kristoffer Ericson <kristoffer.ericson@...il.com> wrote:
> > > This is mainly an embedded issue, but I feel it's quite important.
> > > It should apply to other devices also like for example Zaurus
> > > branches (those with keyboard and designated power button).
>
> There was a long discussion thread about this a while back. There were a
> lot of differing views but in the end no patch to fix up power.c to do
> anything was accepted. The Zaurus was the reason I raised the issue.
>
> It seems power.c was recently removed as it was dead code.
That's because nothing in mainline was using it.
>
> > > So in short:
> > > 1. Does mainline policy allow static power button events inside kernel (power button == suspend/resume)?
> > > Why/Why Not?
> >
> > Could it be that you may want to prevent suspend from happening? Or
> > delay it until system completes some important operation? Do something
> > else, like cleanly disconnect your network connections? With actual
> > handling done in userspace it's all possible. With suspend done
> > directly in kernel it is much harder and couples input subsystem with
> > power management too tightly.
> >
> > However if you are dead-set on doin it in kernel you coudl register an
> > input_handler in your platform PM code and it will attach to your
> > keyboard. Look for power.c module in older kernels for example.
>
> The proposed changes to power.c were to hook it into things like APM as
> a "user" event so the power button triggered a suspend event but
> anything in userspace needing to know about (or veto) it could do so.
>
> > > 2. Seeing as my knowledge about this area isn't the best I would
> > > appreciate all opinions on the subject from the gurus.
> >
> > Richard Purdie I think might have some pointers.
>
> Currently I still patch this functionality into the Zaurus kernels
> (basically by resurrecting power.c with the patches I used to apply to
> it added in):
>
> http://www.rpsys.net/openzaurus/patches/input_power-r9.patch
>
> This works for 2.6.23 but doesn't seem to work in 2.6.23-git9. I've not
> looked into why yet.
>
> In the current climate, this will never make mainline kernels so I will
> be considering other options such as adding support into something like
> OHM. As yet, I've not found the time to do that and since the above
> patch works and is relatively easy to maintain...
>
I think power.c as it was is not a good idea. Generic code does not know
the best way of shutting down/suspending a certain box. However having an
arch- (or even board-) specific version of power.c that pligs directl
and poperly into appropriate PM mechanism makes more sense. If certain
platforms need it I don't see a reason to prevent them from doing so.
--
Dmitry
-
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/
Powered by blists - more mailing lists