1
linux/net
Johannes Berg c64fb01627 rfkill: create useful userspace interface
The new code added by this patch will make rfkill create
a misc character device /dev/rfkill that userspace can use
to control rfkill soft blocks and get status of devices as
well as events when the status changes.

Using it is very simple -- when you open it you can read
a number of times to get the initial state, and every
further read blocks (you can poll) on getting the next
event from the kernel. The same structure you read is
also used when writing to it to change the soft block of
a given device, all devices of a given type, or all
devices.

This also makes CONFIG_RFKILL_INPUT selectable again in
order to be able to test without it present since its
functionality can now be replaced by userspace entirely
and distros and users may not want the input part of
rfkill interfering with their userspace code. We will
also write a userspace daemon to handle all that and
consequently add the input code to the feature removal
schedule.

In order to have rfkilld support both kernels with and
without CONFIG_RFKILL_INPUT (or new kernels after its
eventual removal) we also add an ioctl (that only exists
if rfkill-input is present) to disable rfkill-input.
It is not very efficient, but at least gives the correct
behaviour in all cases.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-06-03 14:06:14 -04:00
..
9p net/9p: handle correctly interrupted 9P requests 2009-04-05 16:54:53 -05:00
802 net: remove COMPAT_NET_DEV_OPS 2009-05-25 01:53:53 -07:00
8021q net: convert unicast addr list 2009-05-29 22:12:32 -07:00
appletalk net: remove COMPAT_NET_DEV_OPS 2009-05-25 01:53:53 -07:00
atm net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ax25 ax25: proc uid file misses header 2009-04-20 02:14:59 -07:00
bluetooth Bluetooth: Remove useless flush_work() causing lockdep warnings 2009-05-27 09:15:57 +02:00
bridge net: skb->dst accessors 2009-06-03 02:51:04 -07:00
can can: Network Drop Monitor: Make use of consume_skb() in af_can.c 2009-04-17 01:38:46 -07:00
core net: introduce pre-up netdev notifier 2009-06-03 14:05:12 -04:00
dcb
dccp net: skb->dst accessors 2009-06-03 02:51:04 -07:00
decnet net: skb->dst accessors 2009-06-03 02:51:04 -07:00
dsa net: convert unicast addr list 2009-05-29 22:12:32 -07:00
econet econet: Use SKB queue and list helpers instead of doing it by-hand. 2009-05-28 16:46:29 -07:00
ethernet net: remove COMPAT_NET_DEV_OPS 2009-05-25 01:53:53 -07:00
ipv4 net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ipv6 net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ipx ipx: use constant for strings and desciptor 2009-03-21 19:06:51 -07:00
irda irda: Use SKB queue and list helpers instead of doing it by-hand. 2009-05-28 23:26:33 -07:00
iucv af_iucv: Fix merge. 2009-04-23 06:37:16 -07:00
key af_key: remove some pointless conditionals before kfree_skb() 2009-02-26 23:07:32 -08:00
lapb
llc llc: Kill outdated and incorrect comment. 2009-05-28 23:31:56 -07:00
mac80211 mac80211: handle -EALREADY on cfg80211 op assoc req 2009-06-03 14:05:11 -04:00
netfilter net: skb->dst accessors 2009-06-03 02:51:04 -07:00
netlabel netlabel: Use genl_register_family_with_ops() 2009-05-21 16:50:24 -07:00
netlink genetlink: Introduce genl_register_family_with_ops() 2009-05-21 16:50:22 -07:00
netrom net/netrom: Fix socket locking 2009-04-22 00:49:51 -07:00
packet net: skb->dst accessors 2009-06-03 02:51:04 -07:00
phonet Phonet: fix accounting race between gprs_writeable() and gprs_xmit() 2009-06-02 00:17:43 -07:00
rds Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-05-18 21:08:20 -07:00
rfkill rfkill: create useful userspace interface 2009-06-03 14:06:14 -04:00
rose Revert "rose: zero length frame filtering in af_rose.c" 2009-04-14 20:28:00 -07:00
rxrpc RxRPC: Error handling for rxrpc_alloc_connection() 2009-05-21 15:22:02 -07:00
sched net: skb->dst accessors 2009-06-03 02:51:04 -07:00
sctp net: skb->dst accessors 2009-06-03 02:51:04 -07:00
sunrpc net: skb->dst accessors 2009-06-03 02:51:04 -07:00
tipc tipc: Use genl_register_family_with_ops() 2009-05-21 16:50:23 -07:00
unix New helper - current_umask() 2009-03-31 23:00:26 -04:00
wanrouter wanrouter: fix sparse warnings: context imbalance 2009-02-26 23:13:36 -08:00
wimax rfkill: rewrite 2009-06-03 14:06:13 -04:00
wireless nl80211: use GFP_ATOMIC for michael mic failure message 2009-06-03 14:06:13 -04:00
x25 af_rose/x25: Sanity check the maximum user frame size 2009-03-27 00:28:21 -07:00
xfrm net: skb->dst accessors 2009-06-03 02:51:04 -07:00
compat.c
Kconfig net: remove stale reference to fastroute from Kconfig help text 2009-05-07 16:31:01 -07:00
Makefile RDS: Kconfig and Makefile 2009-02-26 23:43:35 -08:00
nonet.c
socket.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-04-06 18:05:43 -07:00
sysctl_net.c net: sysctl_net - use net_eq to compare nets 2009-03-16 16:23:30 +01:00
TUNABLE