From: Ivo van Doorn <ivdoorn@gmail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
Henrique de Moraes Holschuh <hmh@hmh.eng.br>,
Inaky Perez-Gonzalez <inaky@linux.intel.com>,
Dirk Opfer <Dirk@opfer-online.de>,
toshiba_acpi@memebeam.org, Matthew Garrett <mjg@redhat.com>
Subject: Re: [RFC] rfkill: rewrite
Date: Sun, 29 Mar 2009 20:16:02 +0200 [thread overview]
Message-ID: <200903292016.05470.IvDoorn@gmail.com> (raw)
In-Reply-To: <1238349195.24972.5.camel@johannes.local>
On Sunday 29 March 2009, Johannes Berg wrote:
> This patch completely rewrites the rfkill core to address
> the following deficiencies:
>
> * all rfkill drivers need to implement polling where necessary
> rather than having one central implementation
>
> * updating the rfkill state cannot be done from any context,
> forcing drivers to use schedule_work and requiring lots of
> code
>
> * rfkill drivers need to keep track of soft/hard blocked
> internally -- the core should do this
>
> * the rfkill API has many unexpected quirks, for example being
> asymmetric wrt. alloc/free and register/unregister
>
> * rfkill can call back into a driver from within a function the
> driver called -- this is prone to deadlocks and generally
> should be avoided
>
> * rfkill-input pointlessly is a separate module
>
> * drivers need to #ifdef rfkill functions (unless they want to
> depend on or select RFKILL) -- rfkill should provide inlines
> that do nothing if it isn't compiled in
>
> * the rfkill structure, despite containing almost only internal
> variables, is not opaque -- and drivers need to initialise it
> correctly (lots of sanity checking code required) -- instead
> force drivers to pass the right variables to rfkill_alloc()
>
> * the documentation is hard to read because it always assumes
> the reader is completely clueless and contains way to many CAPS
>
> * the rfkill code needlessly uses a lot of locks and atomic
> operations in locked sections
>
> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
> ---
> RFC only because I haven't fixed all drivers yet, still missing are
> toshiba, thinkpad, wimax and tosa.
>
> Let the flames begin! (or if you like it feel free to chime in too)
Just for the record, as long as you (or somebody else) takes over maintainership
over rfkill after these changes, I have no objections against the changes. Luckily
you already updated the Maintainers entry, so I'm happy. :)
I know rfkill was poorly designed and I simply lacked the time (and perhaps
some interest as well) to continue with it. The changes you propose sound
reasonable so I hope it will turn rfkill really into something which it was supposed
to be from the start.
Ivo
next prev parent reply other threads:[~2009-03-29 18:16 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-29 17:53 [RFC] rfkill: rewrite Johannes Berg
2009-03-29 18:16 ` Ivo van Doorn [this message]
2009-03-30 13:27 ` Henrique de Moraes Holschuh
2009-03-30 9:06 ` Johannes Berg
2009-03-30 9:54 ` Michael Buesch
2009-03-30 9:57 ` Johannes Berg
2009-03-30 10:39 ` Johannes Berg
2009-03-30 9:40 ` Johannes Berg
2009-03-30 10:04 ` Matthew Garrett
2009-03-30 13:29 ` Henrique de Moraes Holschuh
2009-03-30 14:08 ` Johannes Berg
2009-03-30 17:34 ` Henrique de Moraes Holschuh
2009-03-30 17:41 ` Johannes Berg
2009-03-30 20:48 ` Henrique de Moraes Holschuh
2009-03-30 20:52 ` Johannes Berg
2009-03-30 21:02 ` Henrique de Moraes Holschuh
2009-03-30 21:20 ` Johannes Berg
2009-03-30 17:39 ` Inaky Perez-Gonzalez
2009-03-30 17:45 ` Johannes Berg
2009-03-30 17:54 ` Ivo van Doorn
2009-03-30 18:00 ` Johannes Berg
2009-03-30 20:36 ` Inaky Perez-Gonzalez
2009-03-30 20:43 ` Johannes Berg
2009-03-30 20:52 ` Henrique de Moraes Holschuh
2009-03-30 19:01 ` Johannes Berg
2009-03-30 22:07 ` Johannes Berg
2009-03-30 22:08 ` Johannes Berg
2009-03-30 21:15 ` Henrique de Moraes Holschuh
2009-03-30 21:26 ` Johannes Berg
2009-03-30 21:26 ` Johannes Berg
2009-04-05 14:59 ` Henrique de Moraes Holschuh
2009-04-07 10:36 ` Johannes Berg
2009-04-08 18:06 ` Henrique de Moraes Holschuh
2009-04-14 21:03 ` Johannes Berg
2009-03-30 22:16 ` [RFC/RFT v2] " Johannes Berg
2009-03-30 23:20 ` Larry Finger
2009-03-31 8:02 ` Johannes Berg
2009-03-31 8:11 ` Johannes Berg
2009-03-31 12:16 ` Johannes Berg
2009-03-31 18:20 ` Larry Finger
2009-03-31 18:32 ` Johannes Berg
2009-03-31 19:11 ` [RFC v3] " Johannes Berg
2009-04-14 21:48 ` [RFC v5] " Johannes Berg
2009-04-14 23:08 ` [RFC v6] " Johannes Berg
2009-04-15 4:34 ` Larry Finger
2009-04-30 3:19 ` Henrique de Moraes Holschuh
2009-04-30 8:53 ` Johannes Berg
2009-04-30 14:11 ` Henrique de Moraes Holschuh
2009-04-30 14:18 ` Johannes Berg
2009-04-30 15:06 ` Johannes Berg
2009-04-30 15:53 ` Henrique de Moraes Holschuh
2009-04-30 16:09 ` Johannes Berg
2009-04-30 15:14 ` [RFC v8] " 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=200903292016.05470.IvDoorn@gmail.com \
--to=ivdoorn@gmail.com \
--cc=Dirk@opfer-online.de \
--cc=hmh@hmh.eng.br \
--cc=inaky@linux.intel.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=mjg@redhat.com \
--cc=toshiba_acpi@memebeam.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).