All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivo van Doorn <ivdoorn@gmail.com>
To: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Cc: linux-kernel@vger.kernel.org,
	"John W. Linville" <linville@tuxdriver.com>,
	Dmitry Torokhov <dtor@mail.ru>
Subject: Re: [PATCH 4/8] rfkill: add read-write rfkill switch support
Date: Sat, 12 Apr 2008 12:36:43 +0200	[thread overview]
Message-ID: <200804121236.43547.IvDoorn@gmail.com> (raw)
In-Reply-To: <1207946244-14525-5-git-send-email-hmh@hmh.eng.br>

Hi,

> Currently, rfkill supports only write-only rfkill switches.  There is no
> provision for querying the current switch state from the hardware/firmware.

No that is by design, the input_polled_dev interface is there for polling.

> This is bad on hardware where the switch state can change behind the
> kernel's back (which is rather common).  There is no reason to keep kernel
> state incorrect, when we have the possibility to match reality.
> 
> There is also the issue of read-only rfkill switches (support to be added
> in a later patch), which absolutely requires support to read the current
> state from the hardware in order to be implemented.

See rt2x00 and b43 in driver-wireless for an example implementation
of pollable input device and rfkill

> In order to implement the read/write functionality:
> 
> Add a get_state() hook that is called by the class every time it needs to
> fetch the current state of the switch.  Add a call to this hook every time
> the *current* state of the radio plays a role in a decision.
> 
> Also add a force_state() method that can be used to forcefully syncronize
> the class' idea of the current state of the switch.  This allows for a
> faster implementation of the read/write functionality, as a driver which
> get events on switch changes can avoid the need for a get_state() hook.
> 
> If the get_state() hook is left as NULL, current behaviour is maintained,
> so this change is fully backwards compatible with the current rfkill
> drivers.
> 
> If the firmware is event driven, leave get_state() NULL in the driver, set
> the initial state properly before registering the rfkill class, and use the
> force_state() method in the driver to keep the class up-to-date.
> 
> get_state() can be called by the class from atomic context. It must not
> sleep.
> 
> Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
> Cc: Ivo van Doorn <IvDoorn@gmail.com>
> Cc: John W. Linville <linville@tuxdriver.com>
> Cc: Dmitry Torokhov <dtor@mail.ru>

I'm going to NACK this patch.

Ivo

  reply	other threads:[~2008-04-12 10:35 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-11 20:37 [GIT PATCH] rfkill support for r/w and r/o rfkill switches Henrique de Moraes Holschuh
2008-04-11 20:37 ` [PATCH 1/8] rfkill: clarify meaning of rfkill states Henrique de Moraes Holschuh
2008-04-14  4:22   ` Dmitry Torokhov
2008-04-11 20:37 ` [PATCH 2/8] rfkill: fix minor typo in kernel doc Henrique de Moraes Holschuh
2008-04-11 20:37 ` [PATCH 3/8] rfkill: handle KEY_RADIO and SW_RADIO events Henrique de Moraes Holschuh
2008-04-12 10:36   ` Ivo van Doorn
2008-04-12 12:05     ` Henrique de Moraes Holschuh
2008-04-12 12:23       ` Ivo van Doorn
2008-04-12 13:08         ` Henrique de Moraes Holschuh
2008-04-12 13:17           ` Ivo van Doorn
2008-04-12 15:47   ` Dmitry Torokhov
2008-04-12 18:02     ` Henrique de Moraes Holschuh
2008-04-12 18:14       ` Ivo van Doorn
2008-04-12 19:09         ` Carlos Corbacho
2008-04-12 20:36           ` Henrique de Moraes Holschuh
2008-04-11 20:37 ` [PATCH 4/8] rfkill: add read-write rfkill switch support Henrique de Moraes Holschuh
2008-04-12 10:36   ` Ivo van Doorn [this message]
2008-04-14  1:20     ` Henrique de Moraes Holschuh
2008-04-14 12:00       ` Ivo van Doorn
2008-04-14 14:16         ` Dmitry Torokhov
2008-04-14 14:36           ` Henrique de Moraes Holschuh
2008-04-14 15:19             ` Dmitry Torokhov
2008-04-14 16:33               ` Henrique de Moraes Holschuh
2008-04-14 18:05                 ` Dmitry Torokhov
2008-04-14 21:41                   ` Henrique de Moraes Holschuh
2008-04-14 19:06         ` Carlos Corbacho
2008-04-14 20:23           ` Dmitry Torokhov
2008-04-15  7:27             ` Carlos Corbacho
2008-04-15 12:58               ` Dmitry Torokhov
2008-04-14 21:04           ` Ivo van Doorn
2008-04-14 21:46             ` Henrique de Moraes Holschuh
2008-04-15  8:14               ` Ivo Van Doorn
2008-04-11 20:37 ` [PATCH 5/8] rfkill: add read-only " Henrique de Moraes Holschuh
2008-04-11 20:37 ` [PATCH 6/8] rfkill: add the WWAN radio type Henrique de Moraes Holschuh
2008-04-11 20:44   ` Inaky Perez-Gonzalez
2008-04-11 20:53     ` Henrique de Moraes Holschuh
2008-04-12 10:36   ` Ivo van Doorn
2008-04-12 12:15     ` Henrique de Moraes Holschuh
2008-04-12 12:28       ` Ivo van Doorn
2008-04-12 23:23       ` Inaky Perez-Gonzalez
2008-04-13 17:25         ` Henrique de Moraes Holschuh
2008-04-13 17:37           ` Ivo van Doorn
2008-04-13 18:16             ` Henrique de Moraes Holschuh
2008-04-14  4:20               ` Dmitry Torokhov
2008-04-11 20:37 ` [PATCH 7/8] rfkill: add an "any radio" switch type and functionality Henrique de Moraes Holschuh
2008-04-12 19:57   ` Pavel Machek
2008-04-13 17:40     ` Henrique de Moraes Holschuh
2008-04-11 20:37 ` [PATCH 8/8] rfkill: add parameter to disable radios by default Henrique de Moraes Holschuh
2008-04-12 10:36   ` Ivo van Doorn
2008-04-12 12:56     ` Henrique de Moraes Holschuh
2008-04-12 13:43       ` Ivo van Doorn
2008-04-12 14:43         ` Henrique de Moraes Holschuh
2008-04-12 16:24           ` Ivo van Doorn
2008-04-12 18:36             ` Henrique de Moraes Holschuh
2008-04-12 19:15               ` Ivo van Doorn
2008-04-12 10:36 ` [GIT PATCH] rfkill support for r/w and r/o rfkill switches Ivo van Doorn
2008-04-16 18:37 ` John W. Linville
2008-04-16 19:26   ` Ivo van Doorn
2008-04-16 19:58     ` John W. Linville
2008-04-16 20:40       ` Ivo van Doorn
2008-04-17  1:29         ` David Miller

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=200804121236.43547.IvDoorn@gmail.com \
    --to=ivdoorn@gmail.com \
    --cc=dtor@mail.ru \
    --cc=hmh@hmh.eng.br \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linville@tuxdriver.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.