From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
Matthew Garrett <mjg@redhat.com>
Subject: Re: rfkill get_state
Date: Fri, 27 Mar 2009 12:08:24 -0300 [thread overview]
Message-ID: <20090327150824.GC24288@khazad-dum.debian.net> (raw)
In-Reply-To: <1238161210.4452.8.camel@johannes.local>
On Fri, 27 Mar 2009, Johannes Berg wrote:
> When you implement get_state but don't do force_state, how does
> get_state ever get called?
>
> It seems to me it'll only get called
> * when you read sysfs
> * on resume
> * on epo
Yes. It is mostly something that the rfkill core uses to get an up-to-date
state when it knows it needs one, and it is not good for anything else.
> How do we ever react to a button press then to make a uevent?
rfkill-related uevents exist to signal change in state of the rfkill
switches, REGARDLESS of the reason. So they are NOT related to button
presses, except in-so-far that a button press might have changed a rfkill
switch state.
So, the short answer is: rfkill_force_state(). Call it when the radio
rfkill state changed, and the core will generate uevents.
The core doesn't have any helpers for this, so if you need polling, for
example, you do it in your driver and call rfkill_force_state() as needed.
Where does the button press enters the picture in your driver? Knowing
that, I can illustrate how it would plug to rfkill core, or to the input
device core (I am yet to see a case where it should be plugged to both).
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
next prev parent reply other threads:[~2009-03-27 15:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-27 13:40 rfkill get_state Johannes Berg
2009-03-27 15:08 ` Henrique de Moraes Holschuh [this message]
2009-03-27 21:16 ` Johannes Berg
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=20090327150824.GC24288@khazad-dum.debian.net \
--to=hmh@hmh.eng.br \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=mjg@redhat.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