linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	linux-serial@vger.kernel.org, linux-pm@vger.kernel.org,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: Question:  How to power-manage UART-attached devices.
Date: Tue, 1 May 2012 09:47:52 +1000	[thread overview]
Message-ID: <20120501094752.2ea16f23@notabene.brown> (raw)
In-Reply-To: <4F9F178F.3030408@zytor.com>

[-- Attachment #1: Type: text/plain, Size: 2364 bytes --]

On Mon, 30 Apr 2012 15:51:59 -0700 "H. Peter Anvin" <hpa@zytor.com> wrote:

> On 04/30/2012 03:22 PM, NeilBrown wrote:
> > 
> > What I would really like is to integrate it closely with the state
> > of the UART.  i.e. if the /dev/ttyO1 device is open, then the GPS
> > is "on".  If not then it is "off".  Similarly if /dev/tty/O0 is
> > open, bluetooth is "on", else "off". However I cannot find any way
> > to "plug in" to the tty or serial drivers to perform an arbitrary
> > action on first-open or last-close.  Is something like that
> > possible? If not, is it a reasonable thing to ask? Any suggests
> > about where to put such a hook?
> > 
> 
> I don't think that's the right interface.  Just because the port is
> currently open doesn't mean the device is active, nor vice versa.  ALL
> it means is that someone currently has an access handle to it.
> 
> Since a serial port models, well, a *port*, it is logical to think of
> a (hypothetical) socket containing an RS-232 connector as well as a
> power outlet.  Given that, it would be logical to drive the "power
> connector" using the same type of interface used for the other parts
> of an RS-232 control, meaning either with termios flags or via a
> dedicated control ioctl (TIOCPOWER?).
> 
> 	-hpa

Hi Peter,

 I agree that in general there is not necessarily a 1-1 correspondence between
 "device file is open" and "device is powered", however I think that in a lot
 of real cases it is a very natural correspondence. 

 In my bluetooth case, there is nothing useful that the device can do if
 hciattach isn't running and listening to the device, so it may as well be
 off.
 For GPS it is less clear as the GPS could maintain state (current almanac
 and ephemeris) and could even periodically tune in to the satellites and
 update this state (though as mine cannot power on/off the antenna that
 second case might not be very useful).  This particular GPS device does not
 lose state when I toggle the 'on/off' line.  It just stops sending
 information (and maybe stops doing calculations, I don't know).  And that is
 exactly what I want to happen when the tty device is closed.

 I imagine this proposal as being like a virtual DTR line.  It may not always
 be appropriate to connect DTR to the power switch, but sometimes it is.

Thanks,
NeilBrown

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

  parent reply	other threads:[~2012-04-30 23:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-30 22:22 Question: How to power-manage UART-attached devices NeilBrown
2012-04-30 22:33 ` Mark Brown
2012-04-30 23:35   ` NeilBrown
2012-05-01 16:33     ` Mark Brown
2012-05-01 23:15       ` NeilBrown
2012-05-02  9:02         ` Mark Brown
2012-04-30 22:51 ` H. Peter Anvin
2012-04-30 23:34   ` Alan Cox
2012-05-01  0:12     ` NeilBrown
2012-04-30 23:47   ` NeilBrown [this message]
2012-04-30 23:50     ` H. Peter Anvin
2012-05-01  0:27       ` NeilBrown

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=20120501094752.2ea16f23@notabene.brown \
    --to=neilb@suse.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).