linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Cc: Johannes Berg <johannes@sipsolutions.net>,
	John Linville <linville@tuxdriver.com>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] rfkill: create useful userspace interface
Date: Mon, 01 Jun 2009 21:44:54 +0200	[thread overview]
Message-ID: <1243885494.3015.29.camel@localhost.localdomain> (raw)
In-Reply-To: <4A23FD91.8020200@tuffmail.co.uk>

Hi Alan,

> > I really don't understand why this is needed. What benefit does it give
> > us compared to just sent OP_CHANGE and OP_CHANGE as an update. My X200
> > for example does this anyway on suspend/resume.
> >   
> 
> This is required for boot only.  I have no reason for this event to be 
> generated on resume.
> 
> The same effect could be had by generating an OP_CHANGE on f_open, 
> _only_ when a platform driver has provided a value from NVS.  But it 
> does seem clearer to make it a different type of event.

that is my whole point. If the kernel driver wants to preserve these
then it can just issue OP_ADD to notify use about the current state of
the values. The OP_ADD gets send once you open /dev/rfkill and if they
not match with our policy we have to change them anyway. I really don't
see the need for an extra operation here. Let me ask this again, how is
it different from just sending the OP_ADD and then let rfkilld decide to
either use that value or enforce its own policy. If the wish is to
enforce policy you can't do anything about it anyway.

> > So what is rfkilld suppose to be doing when receiving this report? What
> > is the expected behavior? Why do we bother with multi-OS crap here? I am
> > really unclear what are we trying to solve here.
> 
> In order to replicate the kernel behavior, it is expected that you set 
> your internal state from this event.  E.g. when the user next presses 
> the wireless toggle key, you set the inverse of that internal state.
> 
> Since this event is generated by a platform driver, you can expect it to 
> be present following coldplug (the udev initscript).  If the event is 
> not present after coldplug, you may then issue OP_CHANGE yourself, to 
> e.g. restore the state from a file.  You would not be expected to handle 
> OP_NVS_REPORT after startup.  (Unless the daemon is restarted).
> 
> Replicating the kernel behavior will allow us to avoid causing a couple 
> of niggly little regressions on at least two platforms.  It preserves 
> the behavior when dual-booting (possibly between different linux 
> distros), and when the BIOS setup screen exposes the NVS state as an 
> option.  The new behavior you suggest will annoy any users who have 
> become used to these scenarios "just working". 
> 
> You may not use these platforms yourself.  But I'm as annoyed as 
> Henrique is, we don't want to impose regressions just because other 
> platforms don't implement the feature.
> 
> Why the fuss about implementing this, it seems easy enough?  Start 
> rfkilld after udev (like everything else).  If you get NVS_REPORT, then 
> use those states.  Fill in any other states from defaults or state files 
> and issue OP_CHANGE for them, just as you're already planning.  Ignore 
> any subsequent NVS_REPORTs.  That should cover it.
> 
> It's the cost for starting from a working implementation.  You benefit 
> from having existing drivers and users, you pay by not breaking them 
> without good reason.

I really don't care about current behavior, because that has been just a
hack anyway. And it happens to work if there is proper BIOS support. We
are at the point now where we stop working around a complicated and in
some cases broken implementation. Overloading it with weird special
cases is just wrong and so far I am not buying into any of the arguments
here. The point behind the whole effort from Johannes is to finally fix
RFKILL support. If it breaks current behavior, I couldn't care less in
some cases.

So Johannes and I talked about it a lot last week. And we will be doing
rfkilld so finally deprecated the broken idea of rfkill-input and move
the policy into userspace where it belongs. To make this clear, the
concept of cross-OS state keeping is broken. Having the BIOS or a
different OS dictate policy makes no sense.

Regards

Marcel



  reply	other threads:[~2009-06-01 19:45 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-28 15:31 [PATCH] rfkill: create useful userspace interface Johannes Berg
2009-05-28 15:44 ` [PATCH v2] " Johannes Berg
2009-05-28 15:47   ` Marcel Holtmann
2009-05-28 15:58   ` [PATCH v3] " Johannes Berg
2009-05-29  8:38     ` [PATCH v4] " Johannes Berg
2009-05-29 10:43       ` Marcel Holtmann
2009-05-31  9:13 ` [PATCH] " Alan Jenkins
2009-05-31  9:58   ` Johannes Berg
2009-05-31 12:36     ` Henrique de Moraes Holschuh
2009-05-31 13:18     ` Alan Jenkins
2009-05-31 19:01     ` Marcel Holtmann
2009-06-01  7:33       ` Johannes Berg
2009-06-01  8:17         ` Alan Jenkins
2009-06-01 12:10           ` Johannes Berg
2009-06-01 13:05             ` Alan Jenkins
2009-06-01 14:47             ` Marcel Holtmann
2009-06-01 14:57               ` Johannes Berg
2009-06-01 16:10               ` Alan Jenkins
2009-06-01 19:44                 ` Marcel Holtmann [this message]
2009-06-01 22:26                   ` Alan Jenkins
2009-06-02  7:38                     ` Marcel Holtmann
2009-06-02  8:01                       ` Johannes Berg
2009-06-02  8:18                         ` Marcel Holtmann
2009-06-03  4:03                           ` Henrique de Moraes Holschuh
2009-06-03  5:57                             ` Marcel Holtmann
2009-06-03 21:33                               ` Henrique de Moraes Holschuh
2009-06-04  4:13                                 ` Marcel Holtmann
2009-06-07 12:38                                   ` Alan Jenkins
2009-06-07 12:57                                     ` Henrique de Moraes Holschuh
2009-06-07 15:28                                       ` Alan Jenkins
2009-06-07 17:16                                       ` Johannes Berg
2009-06-07 17:26                                         ` Alan Jenkins
2009-06-08 10:14                                           ` [RFC] rfkill: remove set_global_sw_state() Alan Jenkins
2009-06-08 10:32                                             ` Johannes Berg
2009-06-08 11:10                                               ` Alan Jenkins
2009-06-08 11:13                                                 ` Johannes Berg
2009-06-08 11:15                                                   ` Alan Jenkins
2009-06-08 11:19                                               ` [PATCH v2] rfkill: remove set_global_sw_state Alan Jenkins
2009-06-08 11:22                                                 ` Alan Jenkins
2009-06-08 11:24                                                   ` [PATCH v3] " Alan Jenkins
2009-06-08 12:27                                                     ` [PATCH v4] " Alan Jenkins
2009-06-10  1:55                                                       ` Henrique de Moraes Holschuh
2009-06-07 15:46                                     ` [PATCH] rfkill: create useful userspace interface Marcel Holtmann
2009-06-07 16:04                                       ` Alan Jenkins
2009-06-07 16:35                                         ` Marcel Holtmann
2009-06-07 17:16                                           ` Alan Jenkins
2009-06-07 17:25                                             ` Johannes Berg
2009-06-10  2:05                                           ` Henrique de Moraes Holschuh
2009-06-10  7:13                                             ` Marcel Holtmann
2009-06-10  9:06                                               ` Alan Jenkins
2009-06-11 12:01                                                 ` Marcel Holtmann
2009-06-11 12:56                                                   ` Alan Jenkins
2009-06-07 17:04                                       ` Dan Williams
2009-06-10  2:22                                         ` Henrique de Moraes Holschuh
2009-06-10  7:16                                           ` Marcel Holtmann
2009-06-02  8:33                         ` Alan Jenkins
2009-06-02  8:41                           ` Marcel Holtmann
2009-06-03  4:10                             ` Henrique de Moraes Holschuh
2009-06-03  6:01                               ` Marcel Holtmann
2009-06-03 21:38                                 ` Henrique de Moraes Holschuh
2009-06-04  4:20                                   ` Marcel Holtmann
2009-06-03 13:03                               ` Dan Williams
2009-06-03 21:40                                 ` Henrique de Moraes Holschuh
2009-06-04  4:24                                   ` Marcel Holtmann
2009-06-07 13:54                                     ` Henrique de Moraes Holschuh
2009-06-07 15:36                                       ` Marcel Holtmann
2009-06-10  2:44                                         ` Henrique de Moraes Holschuh
2009-06-10  7:19                                           ` Marcel Holtmann
2009-06-01 12:28           ` Henrique de Moraes Holschuh
2009-06-01 12:37             ` Henrique de Moraes Holschuh
2009-06-01 12:38             ` Johannes Berg
2009-06-01 12:45               ` Henrique de Moraes Holschuh
2009-06-01 12:50                 ` Johannes Berg
2009-06-01 13:33                   ` Henrique de Moraes Holschuh
2009-06-01 14:29                     ` Johannes Berg
2009-06-01 15:36                       ` Henrique de Moraes Holschuh
2009-06-01 15:37                         ` Johannes Berg
2009-06-01 15:50                           ` Henrique de Moraes Holschuh
2009-06-01 15:53                             ` Johannes Berg
2009-06-01 17:56                               ` Henrique de Moraes Holschuh
2009-06-01 19:22                                 ` Johannes Berg
2009-06-01 12:43             ` Johannes Berg
2009-06-01 12:49               ` Henrique de Moraes Holschuh
2009-06-01 12:53                 ` Johannes Berg
2009-05-31 13:51 ` Alan Jenkins
2009-05-31 13:54   ` Johannes Berg
2009-05-31 18:22     ` Alan Jenkins
2009-05-31 19:03     ` Marcel Holtmann
2009-05-31 21:19       ` Dan Williams
2009-06-01  7:18         ` Marcel Holtmann
2009-06-01  7:27       ` Johannes Berg
2009-06-01  7:40         ` Alan Jenkins
2009-06-01 14:41         ` Marcel Holtmann
2009-06-02  8:08 ` [PATCH v5] " Johannes Berg
2009-06-02  8:33   ` Marcel Holtmann
2009-06-02  9:41 ` [PATCH v6] " 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=1243885494.3015.29.camel@localhost.localdomain \
    --to=marcel@holtmann.org \
    --cc=alan-jenkins@tuffmail.co.uk \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@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 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).