Johannes Berg
19d337dff9
rfkill: rewrite
...
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 arbitrary
contexts, 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 is not opaque -- 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 TOO MANY CAPS
* the rfkill code needlessly uses a lot of locks and atomic
operations in locked sections
* fix LED trigger to actually change the LED when the radio state
changes -- this wasn't done before
Tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> [thinkpad]
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-06-03 14:06:13 -04:00
..
2009-06-01 02:53:35 -07:00
2009-04-07 10:23:34 +01:00
2009-04-08 17:45:02 -07:00
2009-04-22 16:54:41 -04:00
2009-04-06 07:01:56 -07:00
2009-05-27 15:51:25 -07:00
2009-03-26 16:11:41 -07:00
2009-04-06 09:48:20 -07:00
2009-03-31 15:09:39 +11:00
2009-04-28 18:58:06 +01:00
2009-05-18 21:08:20 -07:00
2009-05-02 16:35:08 -07:00
2009-05-18 21:08:20 -07:00
2009-04-21 00:35:47 -04:00
2009-05-15 14:14:56 -04:00
2009-04-01 08:59:23 -07:00
2009-04-01 08:59:23 -07:00
2009-04-06 08:04:53 -07:00
2009-05-02 15:36:10 -07:00
2009-04-22 08:35:10 +02:00
2009-04-23 10:06:35 +01:00
2009-05-02 16:48:32 -07:00
2009-04-01 08:59:14 -07:00
2009-03-28 13:30:43 -07:00
2009-04-16 07:47:49 -07:00
2009-04-13 08:32:28 -07:00
2009-04-03 15:24:35 -07:00
2009-03-27 14:51:13 +01:00
2009-04-21 13:41:47 -07:00
2009-04-04 14:20:34 -07:00
2009-04-07 09:05:35 -07:00
2009-04-03 14:53:32 -07:00
2009-04-02 19:05:00 -07:00
2009-04-02 19:04:57 -07:00
2009-03-27 14:43:59 -04:00
2009-04-14 11:11:52 +02:00
2009-04-09 00:27:13 +01:00
2009-05-08 19:22:21 -07:00
2009-04-02 19:55:30 +01:00
2009-04-07 08:31:11 -07:00
2009-05-12 14:41:47 -07:00
2009-04-04 10:43:31 +01:00
2009-03-30 21:46:44 +02:00
2009-04-03 14:53:32 -07:00
2009-04-01 15:42:34 -07:00
2009-04-16 16:17:11 -07:00
2009-04-07 08:12:38 +02:00
2009-05-05 12:26:24 -07:00
2009-04-29 17:32:40 -07:00
2009-04-01 08:59:20 -07:00
2009-04-03 11:10:33 -07:00
2009-04-13 15:04:29 -07:00
2009-04-03 12:13:03 +02:00
2009-04-13 15:04:30 -07:00
2009-04-27 02:53:51 -07:00
2009-03-31 23:00:26 -04:00
2009-05-09 10:51:34 -04:00
2009-04-03 16:42:37 +01:00
2009-04-03 16:42:39 +01:00
2009-04-22 13:02:09 +10:00
2009-04-09 05:43:32 +02:00
2009-04-22 08:35:10 +02:00
2009-04-06 01:41:22 +02:00
2009-04-01 21:42:26 +02:00
2009-03-30 15:14:53 +02:00
2009-04-03 09:48:29 -07:00
2009-03-31 14:52:52 +02:00
2009-03-28 21:34:44 +01:00
2009-04-06 18:11:41 -07:00
2009-03-28 21:34:45 +01:00
2009-04-13 17:02:14 +02:00
2009-04-08 14:13:03 +02:00
2009-04-02 19:04:53 -07:00
2009-06-03 14:05:10 -04:00
2009-03-28 13:30:43 -07:00
2009-03-27 00:46:44 -07:00
2009-05-21 15:13:39 -07:00
2009-04-27 03:23:54 -07:00
2009-05-19 16:02:02 -07:00
2009-04-16 02:02:07 -07:00
2009-05-18 22:19:19 -07:00
2009-06-02 00:45:24 -07:00
2009-04-13 15:04:29 -07:00
2009-04-27 19:51:58 -07:00
2009-04-28 09:36:24 -07:00
2009-04-03 21:46:01 +01:00
2009-04-07 14:07:52 -07:00
2009-04-07 08:31:09 -07:00
2009-04-21 13:41:48 -07:00
2009-03-31 01:14:44 +04:00
2009-04-21 13:41:48 -07:00
2009-06-01 03:07:33 -07:00
2009-04-09 10:35:30 -07:00
2009-03-27 17:28:43 +01:00
2009-03-30 12:43:22 -03:00
2009-04-14 07:50:56 -04:00
2009-04-14 10:10:47 -04:00
2009-03-31 13:05:32 +10:30
2009-06-03 14:06:13 -04:00
2009-04-16 16:17:10 -07:00
2009-04-03 12:21:12 +02:00
2009-04-09 07:49:44 -07:00
2009-04-07 08:31:08 -07:00
2009-04-22 13:52:09 +03:00
2009-04-06 16:06:26 +01:00
2009-04-06 16:06:26 +01:00
2009-04-06 16:06:26 +01:00
2009-04-16 15:28:23 -04:00
2009-04-02 19:05:10 -07:00
2009-04-01 08:59:17 -07:00
2009-05-17 21:03:42 -07:00
2009-05-02 15:36:09 -07:00
2009-04-05 11:04:19 -07:00
2009-04-07 08:12:38 +02:00
2009-04-29 17:32:35 -07:00
2009-05-25 00:55:30 -07:00
2009-05-25 00:51:31 -07:00
2009-05-25 00:55:45 -07:00
2009-04-02 19:04:48 -07:00
2009-04-02 19:04:48 -07:00
2009-05-02 15:36:10 -07:00
2009-04-05 10:33:07 -07:00
2009-03-31 23:00:27 -04:00
2009-04-05 11:04:19 -07:00
2009-03-31 13:05:30 +10:30
2009-04-01 07:38:54 -04:00
2009-05-09 10:49:42 -04:00
2009-03-27 14:44:00 -04:00
2009-05-21 16:50:21 -07:00
2009-05-29 22:12:32 -07:00
2009-03-28 23:55:58 -07:00
2009-04-03 17:41:23 -07:00
2009-04-03 16:42:42 +01:00
2009-04-03 16:42:44 +01:00
2009-04-03 16:42:43 +01:00
2009-04-01 13:28:15 -04:00
2009-04-03 17:41:12 -07:00
2009-04-07 08:31:20 -07:00
2009-05-13 15:44:39 -04:00
2009-04-30 15:32:11 +00:00
2009-06-03 14:05:12 -04:00
2009-03-31 23:00:27 -04:00
2009-04-27 02:53:47 -07:00
2009-05-02 15:36:10 -07:00
2009-04-27 02:53:45 -07:00
2009-04-02 19:04:56 -07:00
2009-04-01 08:59:13 -07:00
2009-04-03 16:42:36 +01:00
2009-04-03 16:42:39 +01:00
2009-04-01 08:59:13 -07:00
2009-04-07 08:44:06 -07:00
2009-05-25 00:56:56 -07:00
2009-04-22 15:59:41 -07:00
2009-04-06 11:25:06 -07:00
2009-04-21 19:40:00 -07:00
2009-04-21 19:40:00 -07:00
2009-05-26 21:16:25 -07:00
2009-04-15 12:10:12 +02:00
2009-04-24 08:54:21 +02:00
2009-05-08 19:22:21 -07:00
2009-04-01 08:59:13 -07:00
2009-03-27 22:23:52 -04:00
2009-03-31 01:14:44 +04:00
2009-04-02 19:05:00 -07:00
2009-03-30 15:22:01 +02:00
2009-04-03 12:23:05 +02:00
2009-04-03 12:23:05 +02:00
2009-04-03 12:23:05 +02:00
2009-04-14 11:31:50 +02:00
2009-03-30 14:28:58 -07:00
2009-03-30 12:16:38 -07:00
2009-05-09 10:49:39 -04:00
2009-03-30 12:33:01 -07:00
2009-05-09 10:49:39 -04:00
2009-06-03 14:06:13 -04:00
2009-05-09 10:49:41 -04:00
2009-04-02 19:04:51 -07:00
2009-04-01 08:59:24 -07:00
2009-05-18 22:15:56 -07:00
2009-04-19 10:47:45 -07:00
2009-04-26 09:20:38 -07:00
2009-04-03 12:08:57 +02:00
2009-03-30 22:05:11 +10:30
2009-04-07 08:44:05 -07:00
2009-04-08 14:33:38 -07:00
2009-04-13 15:04:29 -07:00
2009-06-03 02:51:05 -07:00
2009-04-03 12:23:06 +02:00
2009-04-21 19:40:00 -07:00
2009-04-03 12:23:06 +02:00
2009-04-28 01:53:11 -07:00
2009-04-27 02:45:02 -07:00
2009-04-23 04:04:32 -07:00
2009-03-27 12:18:56 -04:00
2009-04-02 19:05:11 -07:00
2009-04-15 12:10:12 +02:00
2009-04-05 10:30:21 -07:00
2009-04-10 15:48:52 +02:00
2009-04-19 20:08:42 +02:00
2009-04-01 08:59:15 -07:00
2009-04-02 19:05:01 -07:00
2009-05-12 14:11:35 -07:00
2009-04-20 02:25:26 -07:00
2009-03-27 16:58:22 -04:00
2009-03-30 17:17:35 -07:00
2009-03-27 12:59:54 +08:00
2009-04-02 19:05:00 -07:00
2009-04-07 08:44:04 -07:00
2009-04-17 10:50:27 -07:00
2009-04-06 21:44:29 -03:00
2009-03-30 12:43:15 -03:00
2009-05-01 15:34:02 -07:00
2009-04-28 02:24:21 -07:00
2009-05-28 18:02:32 -07:00
2009-04-02 19:04:50 -07:00
2009-05-15 11:32:24 +02:00