All of lore.kernel.org
 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 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.